Digitalizzione e Immagini - Dipartimento di Ingegneria dell

Transcript

Digitalizzione e Immagini - Dipartimento di Ingegneria dell
Corso di Laurea Cultura e Stilismo della Moda
Esperti di linguaggi multimediali e tendenze moda
Parte II
Rappresentazione Informazione Multimediale
e Formati Immagine
Corso: Sistemi di Elaborazione Dati
Docente: Ing. Ivan Bruno
E-mail: [email protected]
Parleremo di…
] Tecnologia dei dispositivi I/O
\
\
\
\
\
\
Il tubo a raggi catodici (CRT) B/N e colore
Il video controller vettoriale e raster
Tecnologia LCD a matrice attiva (TFT)
La stampante laser
La stampante a getto d’inchiostro
Lo scanner
12/02/2007
Sistemi di Elaborazione Dati
2
1
Parleremo di…
] Colorimetria
\ Modelli di colore
\ RGB, CMYK e HSV
] Codifica Digitale delle Immagini
\
\
\
\
\
Segnali analogici e digitali
Digitalizzazione
Il teorema del campionamento
Digitalizzazione di immagini
Riduzione del numero di colori e look-up table
12/02/2007
Sistemi di Elaborazione Dati
3
E ancora di…
] Compressione delle Immagini
\ Il processo di compressione
\ Metodi logici e fisici di compressione
\ Lossless compression
[ Run Length Encoding
[ Tecniche Statistiche
\ Lossy compression
[ JPEG
] Formato Immagini
\ BMP, GIF, TIFF, PS, PDF
12/02/2007
Sistemi di Elaborazione Dati
4
2
Tecnologia dei dispositivi I/O
Caratteristiche Monitor
•Pollici: unità di misura della dimensione dello
schermo (Pollice (Inch, in) = cm 2,5399).
• Pixel: il più piccolo elemento che viene
visualizzato sullo schermo.
• Risoluzione: numero di pixel che possono
essere visualizzati contemporaneamente.
• Dot pitch: distanza fra due pixel.
• Refresh: (si misura in Hz) indica il numero di
volte che l’immagine sullo schermo viene
rinfrescata in un secondo.
12/02/2007
Sistemi di Elaborazione Dati
6
3
Il tubo a raggi catodici (CRT)
] La tecnologia più diffusa per la costruzione di
monitor per computer è il tubo a vuoto a raggi
catodici (Catodic Ray Tube)
] Sono derivati dalla tecnologia televisiva, a parte
la procedura di generazione dell’immagine i
dispositivi sono gli stessi della televisione di casa
] Si ha perciò una larga disponibilità commerciale
(alti numeri di produzione), quindi basso costo
12/02/2007
Sistemi di Elaborazione Dati
7
Il tubo a raggi catodici (CRT)
] La proprietà su cui si basa il funzionamento del
CRT è quella di alcuni materiali di essere
elettroluminescenti
] In particolare il materiale usato è il fosforo che,
a seconda della composizione (drogaggio),
colpito da fasci di onde elettromagnetiche
riemette onde nello spettro della luce visibile in
una particolare finestra che determina il colore
percepito.
12/02/2007
Sistemi di Elaborazione Dati
8
4
Il tubo a raggi catodici (CRT)
] Lo spettro del visibile si situa tra i 380 e i 780 nanometri: alla
lunghezza d'onda minore corrisponde la gamma cromatica del bluvioletto, alla lunghezza d'onda maggiore corrisponde invece la gamma
dei rossi.
] Una radiazione della lunghezza d'onda di 700 nanometri, percepita
dall'occhio umano in condizioni normali come rossa, è un'onda in cui due
creste successive (o due avvallamenti successivi) distano tra loro 700 x
10-9 metri: per capire quanto sia piccola in termini umani questa
distanza, si tenga presente che occorre un milione di nanometri per
fare un solo millimetro!
12/02/2007
Sistemi di Elaborazione Dati
9
Il tubo a raggi catodici (CRT)
Resistenza
Cannone
elettronico
Sistema di
collimazione
Catodo
Rivestimento metallico
interno ad alto voltaggio
positivo
Rivestimento
di fosforo
Griglia di
controllo
Bobine di
deflessione
12/02/2007
Schermo
] CRT Bianco e Nero
] Il tubo è sostanzialmente
un dipolo
] Ad un estremo del tubo
(il cui interno è
teoricamente a vuoto) è
posizionato un cannone
elettronico (il catodo del
dispositivo) che emette
dei fasci di elettroni
Sistemi di Elaborazione Dati
10
5
Il tubo a raggi catodici (CRT)
Resistenza
Cannone
elettronico
Sistema di
collimazione
Catodo
Rivestimento metallico
interno ad alto voltaggio
positivo
Rivestimento
di fosforo
Griglia di
controllo
Bobine di
deflessione
] Il fascio nel suo
viaggio viene
accelerato dalla
presenza di una forte
carica positiva sullo
schermo posto
dall’altra parte del
tubo (l’anodo)
Schermo
12/02/2007
Sistemi di Elaborazione Dati
11
Il tubo a raggi catodici (CRT)
Resistenza
Cannone
elettronico
Sistema di
collimazione
Catodo
Rivestimento metallico
interno ad alto voltaggio
positivo
Rivestimento
di fosforo
Griglia di
controllo
Bobine di
deflessione
12/02/2007
Schermo
] Il fascio nel suo percorso
dal catodo all’anodo può
venire deflesso da campi
elettromagnetici variabili
generati da avvolgimenti
(Bobine di deflessione)
] Questo consente al
raggio di colpire qualsiasi
punto della superficie
dello schermo
Sistemi di Elaborazione Dati
12
6
Il tubo a raggi catodici (CRT)
Resistenza
Cannone
elettronico
Sistema di
collimazione
Catodo
Rivestimento metallico
interno ad alto voltaggio
positivo
Rivestimento
di fosforo
Griglia di
controllo
Bobine di
deflessione
] Lo schermo è ricoperto
internamente da uno strato
di fosforo, materiale
elettroluminescente
] Quando il raggio colpisce la
porzione di fosforo su cui è
collimato lo carica
elettricamente ed il fosforo
emette luce visibile
Schermo
12/02/2007
Sistemi di Elaborazione Dati
13
Il tubo a raggi catodici (CRT)
Resistenza
Cannone
elettronico
Sistema di
collimazione
Catodo
Rivestimento metallico
interno ad alto voltaggio
positivo
Rivestimento
di fosforo
Griglia di
controllo
Bobine di
deflessione
12/02/2007
Schermo
] Si può effettuare
un’ulteriore regolazione in
intensità sul fascio di
elettroni che colpisce lo
schermo
] Aumentando il voltaggio
della tensione sulla griglia di
controllo posta di fronte al
cannone si aumenta la
percentuale di elettroni che
vengono catturati e non
proseguono verso lo
schermo
Sistemi di Elaborazione Dati
14
7
Il tubo a raggi catodici (CRT)
Resistenza
Cannone
elettronico
Sistema di
collimazione
Catodo
Rivestimento metallico
interno ad alto voltaggio
positivo
Rivestimento
di fosforo
Griglia di
controllo
Bobine di
deflessione
12/02/2007
Schermo
] Più alto è il voltaggio
della griglia meno
elettroni arriveranno a
colpire lo schermo,
permettendo, quindi, di
ottenere una intensità di
grigio tra la massima
(bianco) con griglia
totalmente disattiva e la
minima (nero) con griglia
che assorbe tutti gli
elettroni
Sistemi di Elaborazione Dati
15
Il tubo a raggi catodici (CRT)
] Quando il fascio colpisce lo schermo, la porzione colpita
s’illumina per un intervallo di tempo variabile che
dipende dal tipo di fosforo utilizzato
] Per dispositivi grafici standard questo intervallo varia tra
10 e 60 microsecondi
] Il tempo è così breve da far sì che questo
bombardamento debba essere ripetuto più volte al
secondo
] La frequenza base è la medesima di quella della rete
elettrica: 50 Hz per lo standard europeo e 60 Hz per
quello USA
] Dispositivi elettronici all’interno del monitor possono
tagliare la frequenza ed innalzarla fino a 100-120 Hz
12/02/2007
Sistemi di Elaborazione Dati
16
8
Il tubo a raggi catodici (CRT)
] Questo parametro del sistema è noto
come frequenza di refresh
] È questa possibilità del sistema di
accendere e spegnere i fosfori così
frequentemente a consentire di
raggiungere l’interattività voluta:
l’immagine può infatti variare sino a 100120 volte al secondo
12/02/2007
Sistemi di Elaborazione Dati
17
Il tubo a raggi catodici (CRT)
] Ci si potrebbe chiedere come sia possibile che
l’occhio umano percepisca una sequenza
continua di immagini (che danno la sensazione
del movimento) osservando i fosfori accesi per
un tempo così breve
] Questo si ha a causa del fenomeno fisiologico
della persistenza dell’immagine sulla retina: il
cervello reagisce a stimoli visivi ad intervalli ben
più ampi di decine di microsecondi per cui
integra temporalmente tra diversi istanti, in
questo caso quelli in cui il fosforo si illumina
12/02/2007
Sistemi di Elaborazione Dati
18
9
Il tubo a raggi catodici (CRT)
] La frequenza di refresh deve essere alta per evitare che
l’occhio percepisca il cosiddetto flickering (sfarfallio)
dell’immagine sullo schermo
] Osservando lo schermo se l’occhio non riesce più ad
integrare temporalmente tra un picco d’illuminazione ed
il seguente (ovvero se la frequenza di refresh diventa
minore del tempo fisiologico di persistenza) l’effetto di
sfarfallio deteriora notevolmente la qualità dell’immagine
] Attenzione che anche in un’immagine che appare
stabile, i punti dello schermo sono comunque più a
lungo spenti che accesi (120 Hz e 60 microsecondi porta
ad un rapporto spento/acceso di circa 139, 50 Hz e 10
microsecondi a un rapporto di 2000)
12/02/2007
Sistemi di Elaborazione Dati
19
Il video controller
] Il componente hardware che, all’interno
dell’ambiente computer-monitor, è
responsabile di guidare il fascio
elettronico, è il video controller che
trasforma informazioni grafiche (digitali)
in impulsi elettrici (analogici)
] La tecnologia del video controller può
essere di due tipi: vettoriale o raster
12/02/2007
Sistemi di Elaborazione Dati
20
10
Tecnologia vettoriale
] Partiamo da un
esempio di immagine
monocromatica (b/n)
] In grafica vettoriale il
controller traduce
primitive geometriche
direttamente in
istruzioni per il
cannone elettronico
12/02/2007
Sistemi di Elaborazione Dati
21
Tecnologia vettoriale
] Un segmento di
estremi A e B, ad
esempio, sarà
disegnato spostando
il cannone, spento, in
A, accendendolo e
quindi spostandolo,
acceso, in B
12/02/2007
Sistemi di Elaborazione Dati
22
11
Tecnologia vettoriale
beam off
moveto 230,560
beam on
moveto 230, 890
moveto 450, 890
beam off
.
.
.
12/02/2007
] Le informazioni
contenute nella
tabella di descrizione
del video controller
sono quindi percorsi
di movimento del
cannone elettronico
sullo schermo
Sistemi di Elaborazione Dati
23
Tecnologia raster
] L’approccio raster è
completamente
diverso
] Un’immagine viene
descritta da un frame
buffer in cui ogni cella
contiene un bit di
informazione (on-off,
bianco-nero)
12/02/2007
Sistemi di Elaborazione Dati
24
12
Tecnologia raster
] È come se, con carta
e penna, facessimo
dei disegni utilizzando
fogli a quadretti con
la regola che i
quadretti possono o
restare bianchi od
essere totalmente
riempiti
12/02/2007
Sistemi di Elaborazione Dati
25
Tecnologia raster
] Si considera lo
schermo del monitor
come suddiviso in
aree elementari
d’informazione
pittorica dette pixel
(picture element)
12/02/2007
Sistemi di Elaborazione Dati
26
13
Tecnologia raster
] Ad ogni pixel è
associata una cella di
una matrice a due
dimensioni: il frame
buffer (o refresh
buffer)
] Le immagini sono
composte come
insiemi di punti
(pixel)
12/02/2007
Sistemi di Elaborazione Dati
27
Tecnologia raster
] È necessario
rasterizzare le
immagini prima di
poterle disegnare
] Si possono generare
indifferentemente
figure poligonali o
piene
12/02/2007
Sistemi di Elaborazione Dati
28
14
Tecnologia raster
456
457
458
459
460
461
.
.
12/02/2007
230 231 232 233
0
1
0
1
0
1
0
1
1
0
1
0
1
0
1
0
0
1
0
1
0
1
0
1
] Le informazioni
contenute nella
tabella di descrizione
del video controller
(frame buffer) sono
quindi valori da un
insieme predefinito
.
Sistemi di Elaborazione Dati
29
Comparazione
] L’approccio vettoriale
semplifica molto le
operazioni per
passare le
informazioni al video
controller
] Le scene hanno una
complessità
dipendente dai dati
☺
12/02/2007
] In grafica raster la
complessità di una
scena è data dal
numero di pixel che la
compongono
] È un parametro
costante del monitor
] Necessità di
rasterizzare le
immagini
☺
☺
Sistemi di Elaborazione Dati
30
15
Dal B/N al colore
] Mentre utilizzando la tecnologia vettoriale è
praticamente impossibile ottenere immagini a
colori, usando la tecnologia raster cambia poco
rispetto al bianco e nero
] Una scena a toni di grigio viene rappresentata
con un frame buffer (una porzione di memoria a
bordo della scheda grafica) in cui ogni cella
contiene un byte di informazione
12/02/2007
Sistemi di Elaborazione Dati
31
Dal B/N al colore
456
457
458
459
460
461
.
.
12/02/2007
230
0
12
23
45
56
67
231 232 233
12 23 45
23 45 78
45 67 34
67 23 223
2
2
56
54 126 234
.
] Se, nel video controller,
ad ogni pixel sono
associati 8 bit di
informazione, potrà avere
28=256 intensità di
illuminazione distinte
] Ad ognuna di esse sarà
associata una diversa
intensità del fascio che
colpisce lo schermo
Sistemi di Elaborazione Dati
32
16
Monitor CRT a colori
] Per avere sullo schermo immagini a colori,
dobbiamo codificare, nel frame buffer,
l’informazione colore e dobbiamo avere a
disposizione un monitor in grado di utilizzare
questa informazione
] La teoria fisiologica su cui si basa la tecnologia
dei monitor a colori è la cosiddetta teoria del
tristimolo secondo la quale all’interno dell’occhio
umano si hanno tre diversi tipi di recettori del
colore (detti coni) sensibili al rosso, al verde ed
al blu come frequenze fondamentali
12/02/2007
Sistemi di Elaborazione Dati
33
Monitor CRT a colori
] Attraverso la fusione di informazioni
recepite da coni vicini tra di loro sulla
retina, una miscela di questi tre colori
primari viene interpretata come colore
] Dobbiamo quindi pensare ad un
meccanismo che consenta di produrre,
usando piccole aree illuminate di colore
rosso, verde e blu, i vari colori che l’occhio
percepisce
12/02/2007
Sistemi di Elaborazione Dati
34
17
Monitor CRT a colori
Cannoni
elettronici
Blu
Fosfori
spalmati sul
vetro
Verde
Rosso
Griglia
metallica
12/02/2007
] Nel monitor a colori ogni
singolo pixel è composto
da tre piccole porzioni di
tre tipi diversi di fosforo
che, colpiti dal fascio
elettronico, emettono
luce visibile con picchi di
frequenza nel rosso, nel
verde e nel blu
Sistemi di Elaborazione Dati
35
Monitor CRT a colori
Cannoni
elettronici
Fosfori
spalmati sul
vetro
Blu
Verde
Rosso
Griglia
metallica
12/02/2007
] Nel tubo si hanno
anche tre diversi
cannoni, ognuno dei
quali attiva i fosfori
associati ad uno dei
tre colori principali
Sistemi di Elaborazione Dati
36
18
Monitor CRT a colori
Cannoni
elettronici
Fosfori
spalmati sul
vetro
Blu
Verde
Rosso
Griglia
metallica
12/02/2007
] Per evitare
interferenze tra i fasci
una maschera forata
posta di fronte alla
parte interna dello
schermo li collima più
finemente che in un
monitor
monocromatico
Sistemi di Elaborazione Dati
37
Immagine a colori
230 231 232 233
.
456 123
34
3
111
457 231
56
164 172
458
85
98
99
54
459 173 145 103
23
230 231 232 233
.
460
12
145 112
461 456 176
34
144
. 457 234 210
11
22
. 458 256 254
459 256 222
11
22
230 231 232 233
460
0
12
23
45
461 456
12
23
45
78
. 457
23
45
67
34
. 458
459
45
67
23
223
460
56
2
2
56
461
67
54
126 234
.
.
12/02/2007
.
] Nel video controller
ogni pixel è descritto
da tre diverse
informazioni: una per
ogni componente
primaria rosso, verde
e blu
Sistemi di Elaborazione Dati
38
19
Immagine a colori
230 231 232 233
.
456 123
34
3
111
457 231
56
164 172
458
85
98
99
54
459 173 145 103
23
230 231 232 233
.
460
12
145 112
461 456 176
34
144
. 457 234 210
11
22
. 458 256 254
459 256 222
11
22
230 231 232 233
460
456
0
12
23
45
461
12
23
45
78
. 457
23
45
67
34
. 458
459
45
67
23
223
460
56
2
2
56
461
67
54
126 234
.
.
12/02/2007
.
] Ognuna delle tre
informazioni serve,
trasformata in
analogico, ad attivare
il corrispondente
cannone nel CRT
Sistemi di Elaborazione Dati
39
Schermo TFT a colori
] Gli schermi TFT o CTFT (Color Thin Film
Transistor) sono basati sulla proprietà dei
cristalli liquidi di allinearsi in una direzione
dipendente da un campo elettrico
] Sono quindi dei tipi particolari di LCD
Liquid Crystal Display detti a matrice
attiva per la presenza di transistor che
comandano l’accensione di ogni pixel
12/02/2007
Sistemi di Elaborazione Dati
40
20
Schermo TFT a colori
Sorgente luminosa
12/02/2007
] Al contrario dei CRT
la sorgente luminosa
non è sulla superficie
dello schermo (i
fosfori) ma è un
piano fluorescente
posto al fondo dello
schermo
Sistemi di Elaborazione Dati
41
Schermo TFT a colori
Filtro polarizzatore orizzontale
12/02/2007
] Un primo filtro
polarizzatore allinea e
collima, per ogni
pixel, tre fasci
luminosi orizzontali,
uno per il rosso, un
per il verde e uno per
il blu
Sistemi di Elaborazione Dati
42
21
Schermo TFT a colori
Transistor
12/02/2007
] La luce polarizzata entra
quindi nella matrice
attiva, uno strato di
cristalli liquidi guidati da
un array di triplette di
transistor che torcono i
cristalli (e quindi ruotano
la direzione dominante
del fascio che li
attraversa) di un angolo
tra 0 e 90 gradi
Sistemi di Elaborazione Dati
43
Schermo TFT a colori
Filtri colorati
Filtro polarizzatore verticale
12/02/2007
] I fasci luminosi
attraversano quindi
dei filtri colorati
(rosso, verde e blu)
] Un secondo filtro
polarizzatore, è posto
perpendicolare al
primo e quindi lascia
passare solo onde
verticali
Sistemi di Elaborazione Dati
44
22
Schermo TFT a colori
Schermo
12/02/2007
] In questo modo la
tensione al transistor,
tra 0 ed il massimo, si
traduce in un
intensità luminosa
corrispondente sullo
schermo
] I tre pixel colorati si
fondono per dare il
colore voluto
Sistemi di Elaborazione Dati
45
Stampanti laser
] Il principio teorico di funzionamento della
stampante laser è il medesimo di uno
schermo CRT monocromatico
] La differenza, a parte l’uso di carta e
toner anziché elettroni e fosforo, è nella
risoluzione: per le stampanti correnti si
hanno 300 dpi (dots per inch, punti per
pollice) o 600 dpi, per i monitor da 72 a
100 dpi
12/02/2007
Sistemi di Elaborazione Dati
46
23
Stampanti laser
] Il corrispondente del video controller è il
driver della stampante, che trasforma in
una matrice di bit la pagina da stampare
oppure (quasi sempre) invia al processore
dedicato a bordo della stampante la
descrizione ad alto livello della pagina (es.
PostScript)
] Nel secondo caso il processore effettua la
trasformazione
12/02/2007
Sistemi di Elaborazione Dati
47
Stampanti laser
] Un raggio laser, tramite specchi che lo
deflettono, scandisce per righe successive
un tamburo e ne carica elettricamente
solo i punti che dovranno corrispondere ai
pixel da stampare
] Contemporaneamente un foglio di carta
passa vicino ad un filo percorso da
corrente e si carica elettrostaticamente
12/02/2007
Sistemi di Elaborazione Dati
48
24
Stampanti laser
] Il tamburo, ruotando, pesca toner da una
vaschetta
] Il toner, a carica opposta al tamburo, si
fissa ad esso solo nei punti caricati dal
raggio laser
] Quando la carta passa a contatto con il
tamburo, dato che la carta è molto più
carica, il toner viene attirato dalla carta
12/02/2007
Sistemi di Elaborazione Dati
49
Stampanti laser
] Il tamburo, continuando a ruotare, passa
vicino al cosiddetto filo corona che lo
scarica completamente
] La carta passa invece da sistema di
fusione che, con una combinazione di
calore e pressione, fissa in permanenza,
fondendolo, il toner alla carta
12/02/2007
Sistemi di Elaborazione Dati
50
25
Stampanti inkjet
] La testina di stampa è
caratterizzata da un
dispositivo
piezoelettrico (un
cristallo che ha una
deformazione di
entità proporzionale
all’intensità della
corrente elettrica
applicata)
12/02/2007
Sistemi di Elaborazione Dati
51
Stampanti inkjet
] L’impulso elettrico si
trasforma in movimenti di
estensione o contrazione
degli strati, determinando
la deformazione della
piastra vibrante posta tra
l’elemento piezoelettrico
e la camera di inchiostro
12/02/2007
Sistemi di Elaborazione Dati
52
26
Stampanti inkjet
] La variazione di
pressione esercitata dal
movimento della
piastra vibrante sulla
camera di inchiostro
determina la spinta o il
risucchio dell’inchiostro
stesso negli iniettori, da
cui deriva l’accurata
espulsione delle gocce
sul foglio
12/02/2007
Sistemi di Elaborazione Dati
53
Lo scanner
] Esistono diversi tipi di scanner:
\ Flatbed: i più comuni, sono quelli da tavolo,
generalmente scandiscono fino all’A4.
\ Sheet-fed: simili a stampanti portatili, si muove
il foglio mentre la testa di scansione rimane
ferma.
\ Hand held: portatili, bassa qualità di scansione
12/02/2007
Sistemi di Elaborazione Dati
54
27
Lo scanner
\ Drum scanner: qualità industriale, il
documento viene avvolto attorno ad un cilindro
di vetro, la luce riflessa viene scomposta da un
sensore all’interno del tubo ed inviata a tre
sensori dove viene amplificata e convertita in
segnale elettrico.
12/02/2007
Sistemi di Elaborazione Dati
55
Lo scanner Flatbed
] Il cuore di uno scanner flatbed è il CCD: Chargecoupled device.
] Il CCD è un dispositivo caratterizzato da una matrice di
microscopiche regioni (fotodiodi) di forma quadrata o
rettangolare, disposte a scacchiera sulla superficie di un
cristallo di silicio, opportunamente trattato e integrato in
un microchip.
12/02/2007
Sistemi di Elaborazione Dati
56
28
Lo scanner Flatbed
] Tali regioni, molto sensibili alla luce, denominate
pixel (picture elements), sono ricavate
direttamente nel silicio, disposte come mattonelle
di un pavimento, troppo piccole per essere
osservabili ad occhio nudo.
] Converte il segnale luminoso in elettrico,
maggiore è la luce incidente maggiore la carica
elettrica che si accumula sul fotodiodo.
] http://www.castfvg.it/notiziar/1998/ccd.htm
12/02/2007
Sistemi di Elaborazione Dati
57
Lo scanner Flatbed
] L’immagine raggiunge il CCD tramite un
complesso di specchi, lenti e filtri tipicamente
montati sulla testa mobile dello scanner.
] I fogli sono illuminati da una lampada:
fluorescente (vecchi), Cold Cathode Fluorescent
Lamp (CCFL) o allo Xenon.
] CCFL non riscalda ed è molto piccola
12/02/2007
Sistemi di Elaborazione Dati
58
29
Lo scanner Flatbed
] La qualità delle immagini che
si ottengono, in particolare la
risoluzione, deriva dalla
capacità di muovere con
precisione e senza scosse la
testa servono buoni motori
elettrici passo-passo
12/02/2007
Sistemi di Elaborazione Dati
59
Lo scanner Flatbed
] Motore e cinghia di
trasmissione per la
traslazione
12/02/2007
Sistemi di Elaborazione Dati
60
30
Lo scanner Flatbed
] 2 o 3 specchi sono usati per
focalizzare l’immagine sulla lente
che a sua volta focalizza sul CCD
] 3 filtri colorati vengono interposti
alternativamente tra lente e il CCD
per campionare i 3 colori.
\ Alcuni scanner usano 3 passi di
scansione diversi, uno per filtro
\ Normalmente viene usato un solo
passo: la lente divide l’immagine in tre,
ed ogni immagine passa attraverso un
filtro
12/02/2007
Sistemi di Elaborazione Dati
61
Lo scanner
] Gli scanner meno cari usano una tecnologia
diversa: contact image sensor (CIS).
] Al posto del CCD hanno LED R,G,B per illuminare
il documento di luce bianca e sensori attaccati
lungo tutto il vetro per catturare l’immagine
12/02/2007
Sistemi di Elaborazione Dati
62
31
Lo scanner
] Gli scanner variano in risoluzione e
nitidezza
\ Una tipica risoluzione hardware è 300x300 dots
per inch (dpi).
\ Il numero di dpi è dato dal numero di sensori
di ogni riga (x-direction sampling rate) del CCD
o del CIS per la precisione del motore passopasso (y-direction sampling rate).
12/02/2007
Sistemi di Elaborazione Dati
63
Lo scanner
] La nitidezza dipende dalla qualità dell’ottica e
dalla luminosità della lampada: le classiche
lampade fluorescenti sono peggiori delle lampade
allo Xenon o CCFL.
] Molti scanner proclamano risoluzioni 4,800x4,800
o anche 9,600x9,600
] Basta fare i conti sul numero di sensori per
vedere che dovrebbero essercene moltissimi !
] Si tratta di risoluzioni dovute ad interpolazione
12/02/2007
Sistemi di Elaborazione Dati
64
32
Lo scanner: interpolazione
] L’interpolazione è un’elaborazione
effettuata dal software dello scanner per
aumentare la risoluzione percepita di
un’immagine
] Vengono creati dei pixel partendo dai dati
dei pixel ottenuti dal CCD
12/02/2007
Sistemi di Elaborazione Dati
65
Lo scanner: il colore
] Altro elemento importante degli scanner è
la profondità di colore: bit depth
] Indica il numero di colori riproducibili dallo
scanner
] Il true color richiede 24 bit, molti scanner
sono in grado di elaborare 30/36 bit di
colore tra i quali però scelgono i colori più
adatti
12/02/2007
Sistemi di Elaborazione Dati
66
33
Lo scanner
] La nitidezza dipende dalla qualità dell’ottica e
dalla luminosità della lampada: le classiche
lampade fluorescenti sono peggiori delle lampade
allo Xenon o CCFL.
] Molti scanner proclamano risoluzioni 4,800x4,800
o anche 9,600x9,600
] Basta fare i conti sul numero di sensori per
vedere che dovrebbero essercene moltissimi !
] Si tratta di risoluzioni dovute ad interpolazione
12/02/2007
Sistemi di Elaborazione Dati
67
Lo scanner
Flatbed Scanner
DRUM SCANNER
Monochrome Book
Scanner ELAR
PlanScan 7000
Wide Format Scanner
12/02/2007
Sistemi di Elaborazione Dati
68
34
Le telecamere CCD
] Matrice di rivelatori a semiconduttore
(es. 780x480) denominata
“charge-coupled devices”
] Elementi di rivelazione (11x11micron) al
silicio sensibili alla radiazione e.m.
tipicamente dai 400nm (blu) a 1100nm
(vicino IR)
] La matrice è in genere rettangolare (es.
8.8 x 6.6 mm).
12/02/2007
Sistemi di Elaborazione Dati
69
Le telecamere CCD
] Ogni elemento della matrice riceve una
porzione dell’immagine: “pixel”
12/02/2007
Sistemi di Elaborazione Dati
70
35
Le telecamere CCD
] Difficile trasmettere un segnale (tensione) per
ogni singolo “pixel”
] Per ottenere l’informazione dei ogni “pixel” si
procede ad una scansione” orizzontale per ogni
riga (es. pari e dispari: “interllacciato”) e
l’informazione per ogni linea consiste in un
segnale analogico (tensione <1Volt) in funzione
del tempo
] Un insieme di righe pari o dispari è detto “field”
(campo) e due campi consecutivi “frame” che è
visualizzabile sullo schermo in un tempo tipico
ad es. 30 ms.
12/02/2007
Sistemi di Elaborazione Dati
71
Le telecamere CCD
] Analogia idraulica:
12/02/2007
Sistemi di Elaborazione Dati
72
36
Rasterizzare
] Trasformare le informazioni contenute
all’interno del modello dell’applicazione
passando da una rappresentazione
concettuale legata al formalismo della
geometria descrittiva ad una
rappresentazione in cui tutte le entità
devono essere descritte in termini di punti
colorati, i pixel
12/02/2007
Sistemi di Elaborazione Dati
73
Rasterizzare
] È un pò come avere a
disposizione un piano
rettangolare con tanti
fori disposti in
maniera regolare e
chiodini colorati da
potervi infilare dentro
12/02/2007
Sistemi di Elaborazione Dati
74
37
Rasterizzare
] Se il piano è
sufficientemente grande
(risoluzione)
risoluzione e si hanno
abbastanza tonalità di
colore (Color depth)
depth a
disposizione l’immagine
finale che ne risulta non è
troppo diversa
dall’originale
12/02/2007
Sistemi di Elaborazione Dati
75
Algoritmi raster 2D
] Gli algoritmi che consentono di passare
dalla descrizione geometrica a quella raster
si chiamano algoritmi di rasterizzazione
] Dato che le righe di pixel che compongono
l’immagine raster si chiamano scan-line,
questi algoritmi si dicono anche di scan-
conversion
12/02/2007
Sistemi di Elaborazione Dati
76
38
Scan conversion
] Il cannone elettronico percorre lo schermo per
righe orizzontale, dette scan-line (linee di
scansione) da cui il termine scan conversion
12/02/2007
Sistemi di Elaborazione Dati
77
Rasterizzazione di segmenti
] La rasterizzazione di
un segmento di retta
deve generare le
coordinate dei pixel
che giacciono sulla
linea ideale o che
sono il più vicino
possibile ad essa
12/02/2007
Sistemi di Elaborazione Dati
78
39
Rasterizzazione di segmenti
] Vogliamo avere la
sequenza di pixel che
\ approssima al meglio il
segmento
] e quindi
\ sia il più in linea retta
possibile
12/02/2007
Sistemi di Elaborazione Dati
79
Rasterizzazione di segmenti
] Particolarmente
semplice sarà il caso
di linee orizzontali o
verticali la cui
rasterizzazione giace
su una riga o su una
colonna di pixel
12/02/2007
Sistemi di Elaborazione Dati
80
40
Rasterizzazione di
circonferenze
] Così come per i
segmenti l’algoritmo
di rasterizzazione di
una circonferenza o di
un arco deve
calcolare le
coordinate dei pixel
che giacciono il più
possibile vicino ad
essa
12/02/2007
Sistemi di Elaborazione Dati
81
Modelli di colore
41
Teoria del Colore di Küppers
] Il riconoscimento dei colori da parte dell'uomo è basato
sulla luce, sugli oggetti che riflettono la luce e sugli
occhi e il cervello dell'osservatore.
] La luce viene definita come il mezzo che consente di
percepire gli oggetti che essa illumina. È una radiazione
di energia costituita da vibrazioni elettromagnetiche che
si differenziano tra loro in base alla diversa lunghezza
d'onda.
] I raggi di luce sono radiazioni d'energia
incolori. La luce non contiene alcun colore.
12/02/2007
Sistemi di Elaborazione Dati
83
Il colore
Lospettro
spettrodel
delvisibile
visibilesisisitua
situatra
trai i380
380eei i780
780
Lo
nanometri:alla
allalunghezza
lunghezzad'onda
d'ondaminore
minorecorrisponde
corrispondelala
nanometri:
gammacromatica
cromaticadel
delblu-violetto,
blu-violetto,alla
allalunghezza
lunghezzad'onda
d'onda
gamma
maggiorecorrisponde
corrispondeinvece
invecelalagamma
gammadei
deirossi.
rossi.
maggiore
È noto che la materia è composta da atomi. Gli atomi si legano tra loro
creando le molecole più diverse e danno in questo modo origine a
materiali diversi. A seconda della struttura molecolare, la materia è in
grado di assorbire una parte della luce che la colpisce. La parte di
luce/energia non assorbita viene riflessa/riemessa e denominata quindi
luce residua.
] La luce residua (stimolo del colore) che
entra nell'occhio viene convertita in segnali
nervosi nella retina e inviata al cervello
attraverso il nervo ottico. L'occhio reagisce
ai tre colori primari additivi rosso, verde e
blu (Tristimolo), e il cervello percepisce i
colori come una combinazione di questi tre
segnali.
12/02/2007
Sistemi di Elaborazione Dati
84
42
Modelli di colore
] Gli spazi colore o modelli colore sono dei
sistemi particolari di coordinate che
consentono di definire all’interno di un
sottoinsieme di colori (detto gamut) un
particolare elemento
] A noi interessano gli spazi: RGB (monitor,
sintesi additiva), CMYK (stampe, sintesi
sottrattiva), HSV (intuitivo)
12/02/2007
Sistemi di Elaborazione Dati
85
RGB
] Il gamut dei monitor a raggi catodici
(CRT), è definito dalle primarie rosso,
verde e blu o RGB (dall’inglese Red,
Green, Blue) dette primarie additive
] I monitor sintetizzano i colori eccitando
tre tipi di fosfori (RGB), per cui un colore
è ottenuto miscelando (addizionando)
parti diverse di queste tre primarie
12/02/2007
Sistemi di Elaborazione Dati
86
43
RGB
] L'occhio umano percepisce le lunghezze d'onda di
400-500 nm (nanometeri) come blu, 500-600 nm
come verde e 600-700 nm come rosso.
] Tutti i colori trovati in natura possono essere
riprodotti combinando la luce di queste tre
lunghezze d'onda in varie intensità. La
riproduzione dei colori ottenuta sommando i tre
colori RGB primari in varie proporzioni è chiamata
miscelazione o sintesi additiva.
12/02/2007
Sistemi di Elaborazione Dati
87
RGB
Verde
Ciano
Giallo
Nero
Rosso
Blu
Magenta
12/02/2007
] La rappresentazione
tipica dello spazio
RGB è in forma di
cubo
] Sui vertici si trovano il
bianco, il nero, le
primarie e i
complementari (al
bianco)
Sistemi di Elaborazione Dati
88
44
RGB
] I colori ciano, magenta e giallo sono detti
complementari dei colori primari
] Ad esempio, il ciano è il complementare
del rosso poiché deriva dalla sottrazione
del rosso (1,0,0) dal bianco (1,1,1):
bianco (1,1,1) −
rosso (1,0,0) =
ciano (0,1,1)
12/02/2007
Sistemi di Elaborazione Dati
89
RGB
Verde
Ciano
Giallo
Nero
Rosso
Blu
] L’intervallo di
variazione si può
definire a piacere
] I più comuni sono:
\ da 0.0 (intensità
minima) a 1.0
(intensità massima)
\ da 0 (intensità
minima) a 255
(intensità massima)
Magenta
12/02/2007
Sistemi di Elaborazione Dati
90
45
RGB
Verde
Ciano
Giallo
Nero
Rosso
Blu
] Il colore nero di un
pixel si otterrà
spegnendo tutti e tre
i fosfori (cioè R=0,
G=0, B=0), il colore
bianco accendendo i
fosfori al massimo
(cioè R=1, G=1, B=1)
Magenta
12/02/2007
Sistemi di Elaborazione Dati
91
Esempio
] In RGB il colore rosso è dato dalla tripletta
(R=1, G=0, B=0); variando R da 0 a 1
(mantenendo costanti G e B a 0) si
ottengono tutti i rossi puri di diversa
luminosità (da poco a molto luminoso)
Nero (0,0,0)
12/02/2007
Rosso (1,0,0)
Sistemi di Elaborazione Dati
92
46
RGB
Verde
Ciano
Giallo
Nero
Rosso
Blu
] La diagonale che unisce il
nero con il bianco è detta
linea dei grigi
] Infatti un grigio ha la
caratteristica di avere
tutte le tre componenti
uguali, ad esempio,
(0.5,0.5,0.5) è un grigio
Magenta
12/02/2007
Sistemi di Elaborazione Dati
93
CMY(K)
] Ciano, Magenta e Giallo (Cyan, Magenta, Yellow
CMY) sono i colori complementari di Rosso, Verde
e Blu e sono chiamati primarie sottrattive
] Il nome è dato dal fatto che vengono usati come
filtri (ad es. come inchiostri per stampare su fogli
bianchi) per sottrarre frequenze riflesse al bianco
] L'espressione dei colori per sottrazione di un
componente dalla luce bianca è chiamata
miscelazione o sintesi sottrattiva.
12/02/2007
Sistemi di Elaborazione Dati
94
47
CMY(K)
Verde
Ciano
Giallo
Bianco
Rosso
Blu
Magenta
12/02/2007
] Il modello CMY dal punto
di vista geometrico è lo
stesso di RGB con la
differenza che, in questo
caso, il bianco è l’origine
(al posto del nero) e i
colori sono definiti per
sottrazione dal bianco
(tutte le frequenze),
anziché per addizione al
nero (nessuna frequenza)
Sistemi di Elaborazione Dati
95
CMY(K)
] Il modello CMY è usato nei dispositivi di
stampa a colori (stampanti laser, ink-jet, a
sublimazione, elettrostatiche) dove
l’inchiostro colorato funziona come un
filtro che sottrae alcune frequenze dal
bianco del foglio
12/02/2007
Sistemi di Elaborazione Dati
96
48
CMY(K)
] Qualsiasi strato filtrante colorato ha il compito di assorbire luce
in un settore spettrale determinato ed in questo modo di
attivare la sensazione del relativo colore. Il tasso di energia
luminosa assorbito dal relativo strato filtrante dipende dalla
quantità di colorante per punto di immagine. Lo strato filtrante
Giallo (Y) assorbe nell'ambito delle onde corte, quello Rosso
Magenta nell'ambito delle onde medie e lo strato Blu Cyan è
responsabile per quello delle onde lunghe. Di conseguenza, lo
strato di colore Giallo controlla la forza di sensazione del colore
Blu Violetto (B), quello Rosso Magenta (M) la forza di
sensazione del colore Verde (G) ed infine lo strato Blu Cyan (C)
la sensazione del colore Rosso Arancio (R).
12/02/2007
Sistemi di Elaborazione Dati
97
CMY(K)
] La parte non assorbita attraversa il filtro. Le radiazioni luminose
di un punto d'immagine oltrepassano in sequenza i 3 strati
filtranti di colore trasparente e considerata la trasparenza degli
strati, in ognuno di loro ha luogo l'assorbimento delle radiazioni
in base alla quantità di colorante presente. La parte di luce
residua dopo l'attraversamento dei 3 strati, colpisce in modo
diretto l'occhio di colui che osserva come stimolo di colore
oppure viene riflessa nell'occhio attraverso una superficie bianca
di carta. Se si considera che il tasso d'assorbimento di ogni
strato può variare da 0 al 100%, anche in questo caso è
possibile fare in modo che l'organo visivo produca le sensazioni
di molteplici colori.
12/02/2007
Sistemi di Elaborazione Dati
98
49
CMY(K)
] Ad esempio, un inchiostro
ciano depositato su un
foglio bianco riflette tutti i
colori ad eccezione del
rosso (in termini di
primarie, ciano è dato da
bianco − rosso o da verde
+ blu)
12/02/2007
Sistemi di Elaborazione Dati
99
CMY(K)
] Aree in cui si
sovrappongono ciano e
magenta riflettono tutti
i colori ad eccezione del
rosso e del verde:
quindi appaiono blu!
12/02/2007
Sistemi di Elaborazione Dati
100
50
CMY(K)
] La relazione esistente tra CMY e RGB è definita
dalle semplici formule
C=1−R
M=1−G
Y=1−B
] Usando questo modello per ottenere una
superficie nera dobbiamo evitare che rifletta
tutti i primari (rosso, verde e blu), dobbiamo
quindi colorarla di ciano, magenta e giallo alla
massima intensità
12/02/2007
Sistemi di Elaborazione Dati
101
CMY(K)
] Nei dispositivi di stampa a colori si è
pensato di aggiungere ai tre inchiostri
CMY del vero e proprio inchiostro nero
(detto colore K) per due motivi:
\ mettendo insieme C, M e Y non si ottiene un
nero puro poiché i tre inchiostri non sono filtri
perfetti
\ l’inchiostro nero costa meno di quelli colorati!
12/02/2007
Sistemi di Elaborazione Dati
102
51
CMY(K)
] Quindi, anziché usare parti uguali di C, M
e Y si usa K
] Si ha così il cosiddetto modello CMYK
] Si passa da CMY a CMYK con le formule:
K=min(C,M,Y)
C=C−K
M=M−K
Y=Y−K
12/02/2007
Sistemi di Elaborazione Dati
103
CMY(K)
Per poter riprodurre immagini naturali con sfumature continue,
un'immagine a colori deve essere scomposta in quattro lastre di stampa,
una per ciascun colore CMYK. Il principio della separazione dei colori usa
la relazione complementare dei colori RGB additivi e dei colori CMY
sottrattivi. Ad esempio, per poter estrarre il componente giallo di
un'immagine quando si scattano fotografie, si applica un filtro blu (blu è
il complementare del giallo) all'obiettivo.
12/02/2007
Sistemi di Elaborazione Dati
104
52
I tre attributi del colore
Tonalità
Si riferisce all'attributo dei colori che permette loro di essere classificati
come rosso, giallo, verde, blu, o un valore intermedio tra qualsiasi coppia
contigua di tali colori. Le differenze di tonalità dipendono principalmente
dalle variazioni nella lunghezza d'onda della luce che colpisce l'occhio.
Luminosità
Si riferisce alla quantità di chiaro o scuro del colore. Essa è determinata
dal grado di riflettività della superficie fisica che riceve la luce. Tanto più
alta è la luminosità, tanto più chiaro è il colore.
Saturazione
Si riferisce alla vividezza del colore. Essa viene misurata nei termini della
differenza di un colore rispetto a un grigio senza colore (neutrale) con lo
stesso livello di luminosità. Tanto più bassa è la saturazione, tanto più
grigio è il colore. Quando la saturazione è zero, il colore è grigio.
12/02/2007
Sistemi di Elaborazione Dati
105
Colori cromatici e colori
acromatici.
] I colori acromatici sono bianco, nero e grigio. Essi non
hanno gli attributi di tonalità e saturazione.
I colori cromatici sono quelli che normalmente
percepiamo come "colore": tutto ciò che non è bianco,
nero o grigio.
Legenda
A: Tonalità
B: Luminosità
C: Saturazione
12/02/2007
Sistemi di Elaborazione Dati
106
53
Temperatura del colore
] Il colore ha una stretta relazione con la temperatura.
Quando una fiamma brucia a una temperatura alta, il
colore è blu; a una temperatura bassa, il colore è rosso.
Il criterio di misurazione "temperatura del colore" viene
usato per assegnare valori numerici oggettivi alla
condizione di luce quando guardiamo un colore.
] La temperatura del colore è espressa in Kelvin. Ad
esempio il sole a mezzogiorno è circa 5000 gradi Kelvin;
così come al mattino o alla sera è circa 4000 gradi
Kelvin. Una lampada fluorescente è 6500 gradi Kelvin, e
anche lo schermo di un computer spesso è impostato a
6500 gradi Kelvin.
12/02/2007
Sistemi di Elaborazione Dati
107
Temperatura del colore
] Tanto più basso è il numero, tanto più il colore
si avvicina al rosso; tanto più alto è il numero,
tanto più il colore si avvicina al blu. Questo
spiega perché lo stesso oggetto di
abbigliamento rosso apparirà differente alla luce
esterna o sotto una lampada fluorescente.
12/02/2007
Sistemi di Elaborazione Dati
108
54
HSV
] Sia RGB che CMYK sono modelli hardwareoriented, destinati a semplificare la descrizione
dei colore utilizzando dispositivi di
visualizzazione o stampa
] Per un operatore umano non esperto
selezionare un rosa, un viola o un marrone (in
questi spazi) è un’impresa molto faticosa e
necessita di numerosi tentativi
12/02/2007
Sistemi di Elaborazione Dati
109
HSV
] Per ovviare a questo problema si introduce il
modello HSV (Hue, Saturation, Value)
] Il modello nasce dall’idea di cercare di
riprodurre il modo con cui un pittore prepara un
suo colore sulla tavolozza: prende un colore
puro o tonalità (hue) e aggiunge del bianco per
cambiarne la saturazione (saturation); poi
aggiunge del nero per cambiare la luminosità
(value) ed ottiene il colore finale voluto
12/02/2007
Sistemi di Elaborazione Dati
110
55
HSV
] La sua tipica
rappresentazione
geometrica è su un
sistema di coordinate non
cartesiano come un cono
(o un prisma a base
esagonale) con il vertice
rivolto verso il basso
] Togliendo a tutti i colori
la luminosità, infatti, si
arriva comunque al nero
12/02/2007
Sistemi di Elaborazione Dati
111
HSV
V
12/02/2007
] La coordinata V
(Value) corrisponde
alla luminosità e
assume, ad esempio,
valori nell’intervallo
da 0.0 (scuro) a 1.0
(chiaro)
] V si mappa sull’asse
verticale
Sistemi di Elaborazione Dati
112
56
HSV
120
0
H
12/02/2007
240
] La coordinata H (Hue)
corrisponde al colore
ed è la misura
angolare del sistema
di coordinate
] Di solito il rosso vale
0°, il verde vale 120°
e il blu 240°
Sistemi di Elaborazione Dati
113
HSV
120
0
H
12/02/2007
240
] I colori primari sono
alla massima distanza
possibile tra loro
(120°)
] I colori
complementari sono
opposti (+180°) ai
primari
Sistemi di Elaborazione Dati
114
57
HSV
S
12/02/2007
] La coordinata S
(Saturation) corrisponde
al livello di saturazione ed
è rappresentato da un
asse orizzontale avente
angolo H
] S può variare da 0.0
(bianco o completamente
desaturo) a 1.0 (colore
puro o completamente
saturo)
Sistemi di Elaborazione Dati
115
HSV
S
12/02/2007
] La coordinata S
(Saturation) corrisponde
al livello di saturazione ed
è rappresentato da un
asse orizzontale avente
angolo H
] S può variare da 0.0
(bianco o completamente
desaturo) a 1.0 (colore
puro o completamente
saturo)
Sistemi di Elaborazione Dati
116
58
Analogico e Digitale
Segnale
] Un segnale è una funzione matematica che
codifica un qualche tipo di informazione
] Ad esempio:
\ Il segnale radio è un’onda elettromagnetica ad alta
frequenza che trasporta dell'informazione audio
\ L'elettrocardiogramma è un segnale elettrico che
trasporta “il suono del cuore”
\ Il segnale televisivo è un’onda elettromagnetica che
convoglia sequenze di immagini e informazione audio
12/02/2007
Sistemi di Elaborazione Dati
118
59
Segnale
] Il caso più frequente di segnale è quello di
una funzione monodimensionale del
tempo f(t)
] Un’immagine in bianco e nero, invece, è
una funzione (bidimensionale)
rappresentante la variazione della
luminosità nello spazio della figura: un
segnale spaziale
12/02/2007
Sistemi di Elaborazione Dati
119
Segnale
] La Teoria dei Segnali è il settore a cavallo
tra l’ingegneria e l’informatica che si
occupa dello studio di queste entità fisiche
] Nella teoria dei segnali i segnali temporali
e i segnali spaziali sono trattati
concettualmente nella stessa maniera
12/02/2007
Sistemi di Elaborazione Dati
120
60
Rumore
] Se il segnale non è perfettamente pulito
l’informazione trasportata dal segnale può
essere alterata da disturbi che modificano
il segnale stesso
] L’insieme di questi disturbi si definisce
come rumore che degrada la qualità del
segnale
12/02/2007
Sistemi di Elaborazione Dati
121
Rumore
] Una caratteristica importante di un
sistema di trasmissione di segnali è il
cosiddetto rapporto segnale/rumore,
definito come il rapporto tra l’ampiezza
del segnale e l’ampiezza del rumore
] Più alto è il rapporto segnale/rumore e
migliore risulta l’intelligibilità
dell’informazione trasmessa
12/02/2007
Sistemi di Elaborazione Dati
122
61
Segnale analogico
] Si dice analogico un
segnale che varia con
continuità e che, nella
sua variazione,
assume tutti gli infiniti
valori che esistono tra
due punti qualunque
che esso attraversa
12/02/2007
4
3
2
1
0
Sistemi di Elaborazione Dati
123
Segnale digitale
] Un segnale digitale è
invece discontinuo e
assume valori in un
insieme finito
] Le transazioni da un
valore all’altro avvengono
ad intervalli regolari della
variabile in ascissa
(tempo o spazio) in un
tempo teoricamente nullo
12/02/2007
4
3
2
1
0
Sistemi di Elaborazione Dati
124
62
Il processo di
digitalizzazione
Digitalizzazione
] In natura le funzioni identificabili come segnali
sono analogiche, per utilizzare i segnali con
macchine digitali come i computer dobbiamo
trasformarli
] Il processo che consente di passare da un
segnale analogico ad uno digitale è detto
digitalizzazione e si compone di due passi:
\ Campionamento
\ Quantizzazione
12/02/2007
Sistemi di Elaborazione Dati
126
63
Campionamento
] Il segnale analogico viene misurato ad
intervalli regolari e, per poterlo
digitalizzare, si assume che il segnale in
uscita mantenga costante il valore
misurato fino al successivo intervallo
] Questa operazione viene detta
campionamento
12/02/2007
Sistemi di Elaborazione Dati
127
Campionamento
] Il segnale analogico
viene misurato ad
intervalli regolari (T,
2T, 3T,…)
] Il segnale trasformato
rimane costante fino
al successivo
campionamento
12/02/2007
Segnale
campionato
4
3
2
Segnale
originale
1
0
T
Sistemi di Elaborazione Dati
2T 3T
4T 5T
6T 7T
128
64
Quantizzazione
] Ad ogni valore campionato viene poi
associato l’elemento più vicino tra quelli
che appartengono ad un insieme
predefinito e finito di valori
] Questa fase è detta quantizzazione
12/02/2007
Sistemi di Elaborazione Dati
129
Quantizzazione
] Esempio:
L’insieme dei valori di
quantizzazione è
costituito dai numeri
0, 1 ,2 ,3 e 4
Segnale
quantizzato
4
3
2
1
0
12/02/2007
T
Sistemi di Elaborazione Dati
2T 3T
4T 5T
6T 7T
130
65
Digitalizzazione
] Il segnale digitale è diverso da quello di
partenza, nel processo di digitalizzazione è
stata introdotta una distorsione del
segnale analogico
] In effetti abbiamo scartato parte
dell’informazione che caratterizzava il
segnale analogico: tutti i valori presenti
sono stati ridotti ad un insieme limitato
12/02/2007
Sistemi di Elaborazione Dati
131
Digitalizzazione
] Un segnale digitale non avendo la stessa forma
del segnale analogico da cui proviene non può
trasportare la stessa quantità di informazione,
ma ne trasporta un’approssimazione, più o
meno buona a seconda dei valori dei parametri
di campionamento e quantizzazione
] Abbiamo introdotto quello che si chiama un
aliasing. Nelle Immagini si presenta come:
\ Effetti di seghettatura
\ Perdita di dettaglio
\ Disintegrazione di textures
12/02/2007
Sistemi di Elaborazione Dati
132
66
Digitalizzazione
] Perché, allora, si usa un segnale
digitalizzato anziché l’originale analogico?
] Il processo di digitalizzazione consente di
trasformare segnali analogici in sequenze
di bit che, come tali, possono essere
facilmente inviate nei canali di
trasmissione, elaborate con computer e
archiviate su supporti di memorizzazione
12/02/2007
Sistemi di Elaborazione Dati
133
Digitalizzazione
] Inoltre i segnali digitali possono essere
riprodotti a piacere con la sicurezza di non
avere perdita di informazioni poiché è
molto semplice distinguere tra i vari valori
di quantizzazione in un processo di
rilevazione e correzione di errori
] Si pensi alla differenza che esiste tra la
riproduzione di un segnale video analogico
e di uno digitale
12/02/2007
Sistemi di Elaborazione Dati
134
67
Digitalizzazione
] Nel primo caso, ad esempio la copiatura di
una videocassetta, il procedimento di
riproduzione introduce una quantità non
nulla di rumore nel segnale, la ripetizione
di questo procedimento a catena porta a
diminuire gradatamente il rapporto
segnale/rumore sino ad avere un segnale
molto diverso da quello originale, più
sporco
12/02/2007
Sistemi di Elaborazione Dati
135
Digitalizzazione
] Nel secondo caso, ad esempio la copiatura
di un file che contiene un filmato video
codificato, a meno di malfunzionamenti la
copiatura del file mantiene sempre lo
stesso segnale, senza introdurre rumore
] La trasmissione e riproduzione
digitale non introduce rumore
12/02/2007
Sistemi di Elaborazione Dati
136
68
Digitalizzazione
] I parametri su cui agire per avere una
buona digitalizzazione sono due e vanno
definiti assieme, poiché ognuno influisce
su aspetti diversi del processo:
\ Frequenza di campionamento
\ Cardinalità (numero degli elementi)
dell’insieme dei valori di quantizzazione
12/02/2007
Sistemi di Elaborazione Dati
137
Digitalizzazione
] La digitalizzazione sarà, ovviamente, tanto
migliore quanto più alti saranno i valori di
entrambi i parametri
] Altrettanto ovviamente all’aumentare dei
parametri si avrà un aumento della
dimensione del segnale digitale (bit al
secondo nel caso di segnale variabile nel
tempo)
12/02/2007
Sistemi di Elaborazione Dati
138
69
Digitalizzazione
Campionamento e
quantizzazione
iniziali
Campionamento e
quantizzazione
triplicati
4
4
3
3
2
2
1
1
0
T
12/02/2007
2T 3T 4T 5T 6T 7T
0
3T 6T 9T 12T 15T 18T 21T
Sistemi di Elaborazione Dati
139
Il teorema del
campionamento
70
Il teorema del campionamento
] Esiste una frequenza giusta (la minima
frequenza che genera un segnale indistinguibile
dall’originale) a cui campionare un segnale
dato?
] Si può dimostrare che qualunque segnale può
essere sempre pensato come composto dalla
somma di sinusoidi aventi diversa ampiezza e
frequenza trasformando il segnale dallo spazio
lineare allo spazio delle frequenze
12/02/2007
Sistemi di Elaborazione Dati
141
Il teorema del
campionamento
] Esistono varie teorie matematiche che
formano la base per la definizione della
scomposizione di funzioni in somme di
sinusoidi: l’analisi in frequenza dei segnali
] Le trasformate di Fourier, ad esempio,
consentono di valutare lo spettro in
frequenza del segnale, cioè di evidenziare
quali frequenze lo compongono
12/02/2007
Sistemi di Elaborazione Dati
142
71
Esempio di segnale in
frequenza
12/02/2007
Sistemi di Elaborazione Dati
143
Il teorema del
campionamento
] La maggior parte dei segnali che
dobbiamo digitalizzare sono del tipo
passa-basso, hanno cioè uno spettro tutto
nelle basse frequenze che non si sviluppa
al di sopra di un certo valore massimo f0
di frequenza
12/02/2007
Sistemi di Elaborazione Dati
144
72
Il teorema del
campionamento
] Una funzione continua di una variabile
può essere completamente rappresentata
da un insieme di campioni prelevati ad
intervalli regolari se l’ampiezza di tali
intervalli è almeno la metà del periodo
della componente in frequenza più alta
della funzione campionata
12/02/2007
Sistemi di Elaborazione Dati
145
Il teorema del
campionamento
] Dette f0 la frequenza più alta della funzione e fC
la frequenza di campionamento, si può
enunciare come:
Una funzione continua di una variabile può
essere completamente rappresentata da un
insieme di campioni prelevati ad intervalli
regolari se
fc ≥ 2 × f0
12/02/2007
Sistemi di Elaborazione Dati
146
73
Un esempio: il CD audio
] L'orecchio umano ha una banda passante
(f0) di circa 18-20 KHz, per il teorema del
campionamento per ottenere un segnale
digitale senza perdita di informazione
apparente occorre che:
f c > 2 × 20 ⇒
12/02/2007
f c > 40 KHz
Sistemi di Elaborazione Dati
147
Un esempio: il CD audio
] È per questo che la frequenza di
campionamento di un CD è stata fissata a
44.1 Khz (si prendono, quindi, poco più di
44,000 campioni al secondo)
] Per definire l’insieme di quantizzazione si
sono utilizzati 16 bit per campione, cioè
vuol dire che abbiamo a disposizione
65,536 diversi valori
12/02/2007
Sistemi di Elaborazione Dati
148
74
Un esempio: il CD audio
] Tenendo conto che
\ un CD audio è suddiviso in settori
\ ogni settore include la registrazione di 1/75 di
secondo di suono
\ ad ogni istante di campionamento sono prelevati due
campioni (segnale stereo)
è possibile calcolare lo spazio necessario per
memorizzare un settore:
Ls =
12/02/2007
1
× 44,100 × 2byte × 2canali = 2,352byte
75
Sistemi di Elaborazione Dati
149
Un esempio: il CD audio
] Poiché il numero totale di settori presenti
su un disco è 333,000, un CD contiene
333,000 × 2,352 = 747Mbyte
per un totale di
1 ⎞
⎛
⎜ 333,000 × ⎟
75 ⎠
⎝
= 74
60
minuti massimi di registrazione
12/02/2007
Sistemi di Elaborazione Dati
150
75
Digitalizzare le immagini
Digitalizzare le immagini
] Un’immagine (sia una fotografia, un
disegno, etc) è un particolare tipo di
segnale analogico spaziale la cui funzione
associa ad ogni punto del piano un valore
di crominanza (informazione sul colore)
] Un’immagine digitalizzata può nascere a
partire da un modello analogico che viene
campionato e quantizzato
12/02/2007
Sistemi di Elaborazione Dati
152
76
Digitalizzare le immagini
] Si può assimilare il processo di
campionamento di un’immagine alla
sovrapposizione di una griglia
all’immagine rettangolare suddivisa in
quadratini, e che ad ogni campione
dell’immagine digitalizzata (un pixel)
venga quindi attribuito il colore del suo
centro
12/02/2007
Sistemi di Elaborazione Dati
153
Digitalizzare le immagini
12/02/2007
Sistemi di Elaborazione Dati
154
77
Digitalizzare le immagini
] La quantizzazione definisce quanti e quali valori
vengono utilizzati per codificare l’informazione
colore (o solo la luminosità, in caso di immagine
B/N)
] Anche nel caso di immagini il segnale
digitalizzato risulta essere un’approssimazione di
quello analogico
] Più fitta sarà la griglia di campionamento e più
grande l’insieme di quantizzazione e migliore
risulterà l’immagine digitalizzata
12/02/2007
Sistemi di Elaborazione Dati
155
Quantizzazione del colore
] Il processo di quantizzazione del segnale
colore è legato al numero di bit a
disposizione per ogni pixel dell’immagine
] Se abbiamo a disposizione 3 bit per R, 3
bit per G e 2 bit per B possiamo generare
8 livelli di rosso, 8 livelli di verde e 4 livelli
di blu che, in tutte le loro possibili
combinazioni, formerebbero un totale di
8×8×4=256 colori
12/02/2007
Sistemi di Elaborazione Dati
156
78
Quantizzazione del colore
] Se utilizziamo un modello di
rappresentazione true color (24 bit per
pixel, 8 per il rosso, 8 per il verde e 8 per il
blu) possiamo sostenere che il processo di
quantizzazione non trasforma il segnale in
maniera apparente, dato che il nostro
occhio comunque non è in grado di
discriminare tra tutti i colori rappresentabili
12/02/2007
Sistemi di Elaborazione Dati
157
Riduzione del numero di colori
] Anche se si quantizza l’immagine a 24 bit non
sempre la si può riprodurre a questa qualità
] Per diminuire il numero di bit che codificano il
colore di ogni pixel è possibile operare una
riduzione del numero di colori totali che
compaiono nell’immagine cercando di
comprometterne il meno possibile la qualità
12/02/2007
Sistemi di Elaborazione Dati
158
79
Riduzione del numero di colori
] Vogliamo quindi risolvere il seguente
problema:
data un’immagine avente n colori
differenti, selezionare gli m colori (m<n)
più importanti per rappresentarla
12/02/2007
Sistemi di Elaborazione Dati
159
Riduzione del numero di colori
] Una volta risolto questo problema potremo
utilizzare una look-up table (LUT) di m posizioni
(es. 256) per memorizzarvi gli m colori
selezionati
] Ogni pixel dell’immagine può avere come
codifica il valore della cella della LUT dove è
memorizzato il colore anziché il colore stesso
] Nell’esempio di LUT a 256 posizioni con elementi
di 24 bit la dimensione dell’immagine si riduce
ad un terzo più la dimensione della LUT
12/02/2007
Sistemi di Elaborazione Dati
160
80
Riduzione del numero di colori
] L’importanza di un colore è un attributo legato
alla qualità dell'immagine: se si elimina un
colore importante, la qualità dell'immagine
risulterà peggiorata
] L’importanza di un colore può essere
determinata intuitivamente rispondendo a
questa semplice domanda: “Se possiamo
scegliere tra usare solamente uno tra questi due
colori, quale fornirà l’immagine migliore?”
12/02/2007
Sistemi di Elaborazione Dati
161
Riduzione del numero di colori
] L’obiettivo è quindi quello di ottenere immagini il
più possibile simili all’originale impiegando un
numero di colori predefinito
] Questo può essere fatto tenendo conto che in
alcune zone di un’immagine esistono delle
gradazioni di tinta la cui eliminazione (o meglio,
sostituzione con un unico colore) non altera in
pratica l’informazione contenuta nell'immagine
12/02/2007
Sistemi di Elaborazione Dati
162
81
Look-up Table
] Utilizzando algoritmi di riduzione dei colori
si riesce molto spesso a definire un
insieme di colori (per esempio 256), che
rappresentano un’immagine bene
] Si può quindi ridurre il numero di bit per
pixel ad 8 ed introdurre una look-up
table
12/02/2007
Sistemi di Elaborazione Dati
163
Look-up Table
] Ogni cella della LUT conterrà una
descrizione RGB del colore data da 3 byte
] Il frame buffer, però, invece di contenere
dei valori RGB, conterrà un puntatore alla
LUT, cioè un indice che indica una riga
della tabella
12/02/2007
Sistemi di Elaborazione Dati
164
82
True color puro: esempio
Pixels = 1024*768 = 786432
7
6
8
True color a 24bit (3 byte)
Size = 2359296 byte
~2.25 MB
1024
12/02/2007
= (211,45,175) in RGB
Sistemi di Elaborazione Dati
165
LUT: esempio
LUT
0: 123, 34, 234
7
6
8
1: 10,125,23
……
200: 211,45,175
1024
12/02/2007
= 200
……
255: 222,23,111
Sistemi di Elaborazione Dati
166
83
LUT: esempio
Pixels = 1024*768 = 786432
1
0
2
4
Ogni pixel ha associato 1 byte per
indicizzare la tabella di 256 colori
Ogni colore occupa 3 byte, in totale
la tabella occupa
3 x 256 = 768 byte
Size = 786432 x 1byte + 768byte
768,75 KByte
1024
12/02/2007
Sistemi di Elaborazione Dati
Immagine true color
12/02/2007
167
Immagine con LUT di 256 elementi
Sistemi di Elaborazione Dati
168
84
L’ISTOGRAMMA
] L’istogramma trasforma l’immagine in un vettore.
] Ogni elemento i del vettore contiene il numero delle
volte che il valore i è presente nell’immagine stessa (o
se il vettore è normalizzato la sua frequenza).
] Da un punto di vista implementativo data una immagine
I(i,j) e il vettore istogramma H è necessario scandire
l’immagine e per ogni pixel incrementare H(I(i,j)).
] Per normalizzare il vettore al termine basta dividere per
il prodotto righe per colonne.
] Per immagini multispettrali (per esempio a colori RGB) si
opera un istogramma per ogni componente.
12/02/2007
Sistemi di Elaborazione Dati
169
Immagine originale
] Immagine originale
] Istogramma
12/02/2007
0
Sistemi di Elaborazione Dati
255
170
85
Immagine Normalizzata
] Se l’immagine acquisita ha
valori in un intervallo limitato
[min, max] la trasformazione:
O(i, j) = 255
I(i, j) − min
max − min
amplifica la dinamica dei grigi
utlizzati, estendendola a tutta
la banda possibile [0, 255].
0
12/02/2007
a
b
Sistemi di Elaborazione Dati
255
171
Lineare a Banda Ristretta
]
O
Applicando l’intera dinamica [0, 255]
nell’intevallo [a, b]:
\ per I(i, j)<a
O(i, j)=0
\ per I(i, j)>b
O(i, j)=255
\ per a ≤ I(i, j) ≤ b:
I(i,j) -a
O(i,j) = 255 ————
b-a
si evidenzia con il massimo di
contrasto una frazione della banda
dei grigi.
255
0
I
a
12/02/2007
b
255
0
Sistemi di Elaborazione Dati
255
172
86
Immagine Sottoesposte
] Caratteristiche non
lineari:
O(i,j) = √ 255 I(i,j)
12/02/2007
0
Sistemi di Elaborazione Dati
255
173
Immagine Sovraesposte
] Caratteristiche non
lineari:
I(i,j)2
O(i,j) = ————
255
12/02/2007
0
Sistemi di Elaborazione Dati
255
174
87
Immagine Equalizzata
] Caratteristiche non
lineari:
nel processo di
equalizzazione si
concentrano i livelli in
funzione della frequenza
relativa:
I(i,j)
∑ h(s)
O(i,j) = 255
s=0
255
∑ h(s)
s=0
12/02/2007
0
Sistemi di Elaborazione Dati
255
175
Segmentazione
] Segmentare una immagine significa suddividerla in
componenti.
] Il processo di segmentazione viene effettuato sulla base
di qualche criterio di omogeneità (cromatico,
morfologico, di moto, di distanza, ecc.)
] Dal punto di vista operativo si distinguono tre approcci:
\ Ricerca di contorni
\ Accrescimento di regioni
\ Inseguimento di contorni
12/02/2007
Sistemi di Elaborazione Dati
176
88
Immagini Binarie
] La segmentazione conduce alla identificazione del
singolo oggetto rispetto al resto (sfondo) quindi è un
processo di binarizzazione.
] Vi sono applicazioni che per loro natura possono essere
considerate binarie: stampati, dattiloscritti, parti
meccaniche piatte di superficie omogenea, immagini
microscopiche di cellule, cromosomi ...
] Spesso appaiono numerosi livelli di grigio a causa di:
\ Rumore elettrico generato dalla telecamera
\ Illuminazione non omogenea della scena
\ Ineguale sensibilità dell'obiettivo al centro e ai bordi
12/02/2007
Sistemi di Elaborazione Dati
177
Distribuzione Bimodale
] Un metodo per segmentare
consiste nell’applicare una
soglia sui livelli di grigio. È la
soluzione più semplice
Istogramma bimodale
\ O(i, j) = 0 se I(i, j) < S
\ O(i, j) = 255 altrimenti
] Si tratta di determinare il
valore di tale soglia S.
] Operando sull’istogramma ci
sono due possibili approcci:
\ Ricerca del minimo
|
Valore
Medio
Oggetto
|
|
Valore
Medio
Sfondo
|
\ Criteri statistici
12/02/2007
Sistemi di Elaborazione Dati
178
89
Esempio pezzo
Istogramma bimodale
Immagine
Originale
12/02/2007
Immagine
Binaria
Sistemi di Elaborazione Dati
179
Esempio Vela
Istogramma
Immagine
Originale
12/02/2007
Soglia = 140
Sistemi di Elaborazione Dati
Immagine
Binaria
180
90
Il processo di compressione
Il processo di compressione
] Per ovviare all’aumento delle moli di dati
da memorizzare e/o trasmettere sono
state sviluppate una serie di tecniche che
consentono di trasformare segnali digitali
(ovvero i file in cui sono memorizzati) in
segnali compressi che codificano la
medesima informazione occupando minor
spazio
12/02/2007
Sistemi di Elaborazione Dati
182
91
Il processo di compressione
] Un algoritmo di compressione (o processo
di codifica) trasforma i dati originali di
ingresso per produrre in uscita un flusso
di dati codificati
] Nel verso opposto, un algoritmo di
decompressione (o processo di decodifica)
trasforma i dati compressi per produrre un
flusso di dati decompressi
12/02/2007
Sistemi di Elaborazione Dati
183
Il processo di compressione
ΦO
Dati originali
ΦD
Dati decompressi
12/02/2007
Data
Compression
Data
Decompression
Sistemi di Elaborazione Dati
Dati codificati
ΦC
Dati compressi
184
92
Il processo di compressione
] I due parametri usati per misurare l’efficacia
della compressione sono il fattore di
compressione e la figura di merito
] Il fattore di compressione (C) è definito come il
rapporto tra la dimensione dei dati originali e la
dimensione dei dati compressi: si ha
compressione se e solo se C>1
C=
12/02/2007
l (Φ O )
l (Φ C )
Sistemi di Elaborazione Dati
185
Il processo di compressione
] La figura di merito (F) è il reciproco del
fattore di compressione
] Si ha quindi una compressione se F<1
F=
12/02/2007
l (Φ C ) 1
=
l (Φ O ) C
Sistemi di Elaborazione Dati
186
93
Il processo di compressione
] La compressione è tanto più efficiente
quanto maggiore è il valore di C
] Il fattore di compressione dipende sia dai
dati che dall’algoritmo di compressione
] Buoni algoritmi di compressione di dati
generici possono raggiungere un fattore
C>2, algoritmi molto buoni possono
raggiungere C>3
12/02/2007
Sistemi di Elaborazione Dati
187
Il processo di compressione
] Le tecniche di compressione possono
essere basate su criteri dipendenti o
indipendenti dall’analisi preliminare dei
dati che si stanno trattando
] Possiamo classificare le tecniche in due
categorie:
\ logica (dipendente dall’analisi preliminare)
\ fisica (indipendente dall’analisi preliminare)
12/02/2007
Sistemi di Elaborazione Dati
188
94
Compressione logica
] Si effettua una compressione logica
quando a priori, cioè in fase di progetto
del meccanismo di codifica, si strutturano
i dati in modo da eliminare inutili
ripetizioni o usando forme di
abbreviazione
] Ad esempio è una compressione logica:
18 settembre 1996 ⇒ 18/09/96
12/02/2007
Sistemi di Elaborazione Dati
189
Compressione logica
] Nell’esempio
18 settembre 1996 ⇒ 18/09/96
il fattore di compressione si calcola come
rapporto tra i numeri di caratteri delle due
stringhe:
C = 17/8 = 2,125
12/02/2007
Sistemi di Elaborazione Dati
190
95
Compressione logica
] Un altro esempio di eliminazione di
ripetizioni inutili è dato dall’utilizzo di
relazioni in un database relazionale
] Quando dividiamo le informazioni in più
tabelle strutturate codifichiamo una sola
volta una serie di informazioni accessorie
con l’inserimento di puntatore nelle altre
tabelle
12/02/2007
Sistemi di Elaborazione Dati
191
Compressione logica
(30 char)
Cognome e Nome
Rossi Mario
Verdi Carlo
Bianchi Luisa
Melis Gaspare
…
(30 char)
Professione
lavapiatti
geometra
casalinga
geometra
…
(30 char)
Cognome e Nome
Rossi Mario
Verdi Carlo
Bianchi Luisa
Melis Gaspare
…
12/02/2007
5(char)
Ptr.
07123
18412
11176
18412
…
Sistemi di Elaborazione Dati
(30 char)
Professione
…
lavapiatti
…
casalinga
…
geometra
192
96
Compressione logica
] Supponendo che le persone inserite nel
database siano 1.800.000 e che 20.000 sia il
numero delle professioni, la dimensione del
database senza relazioni è:
DIM1 = (30+30)×1,800,000 = 108,000,000 char
] Se dividiamo le informazioni in due tabelle:
DIM2 = (30+5) ×1,800,000+20,000×30 = 63,600,000 char
con C dato dal rapporto DIM1/DIM2 (circa 1.7)
12/02/2007
Sistemi di Elaborazione Dati
193
Compressione logica
] Tutti i metodi di compressione logica sono comunque
data depending, dipendono dalla struttura logica dei
dati che si stanno comprimendo e dall’organizzazione
dei dati
] Dato che normalmente si ha la necessità di operare su
dati la cui produzione non è sotto il nostro controllo non
è possibile influire su questi fattori e quindi adottare
tecniche di compressione di questo tipo
] Le tecniche di compressione logica non sono tecniche di
compressione nel senso stretto del termine
12/02/2007
Sistemi di Elaborazione Dati
194
97
Compressione fisica
] Per compressione fisica, o solo compressione,
intendiamo invece il processo di riduzione della
quantità di dati già codificati prima che questi
vengano immessi sul canale di trasmissione o
vengano archiviati
] L’espansione corrispondente dei dati avviene alla
loro ricezione (nel caso della trasmissione) o
quando vengono utilizzati (nel caso
dell’archiviazione)
12/02/2007
Sistemi di Elaborazione Dati
195
Compressione fisica
] L’approccio più elementare alla
compressione si basa sulla constatazione
che, considerando i dati come un flusso di
singole unità elementari, (siano essi
caratteri o, a livello ancora più fine, byte o
bit) possono essere rilevate ripetizioni di
gruppi da codificate con un numero
minore di simboli
12/02/2007
Sistemi di Elaborazione Dati
196
98
Compressione fisica
] Se ad esempio si considera la seguente stringa:
L'ATTENZIONE NAZIONALE SULL'AZIONE DEL GOVERNO
DIM = 46 char
tramite l’associazione:
L'A = ©
ZION = ®
la stringa originale diviene:
©TTEN®E NA®ALE SUL©®E DEL GOVERNO
DIM = 33 char
] Il fattore di compressione è circa 1.39
12/02/2007
Sistemi di Elaborazione Dati
197
Compressione fisica
] I benefici della compressione, dati dalla
riduzione della quantità di informazione
archiviata e/o trasferita, sono
controbilanciati dal rallentamento delle
applicazioni
] Occorre infatti sempre decodificare
l’informazione prima di poterla utilizzare
12/02/2007
Sistemi di Elaborazione Dati
198
99
Compressione lossy vs lossless
] Il processo di codifica dell’informazione può
essere reversibile o irreversibile
] Quando si comprimono informazioni per le quali
è assolutamente necessario poter ricostruire
esattamente i dati di partenza (ad es. dati
bancari, libri paga, cartelle cliniche, testi scritti
come libri o articoli), si devono utilizzare metodi
reversibili o lossless (senza perdita, sottinteso di
informazione)
12/02/2007
Sistemi di Elaborazione Dati
199
Compressione lossy vs lossless
] Quando invece, come nel caso della
compressione di immagini o audio, una
perdita accettabile di informazione non ne
pregiudica il significato ci si può
permettere di utilizzare dei metodi lossy
(con perdita), che consentono di ottenere
buoni valori di C
12/02/2007
Sistemi di Elaborazione Dati
200
100
LossLess Compression
Run Length Encoding
] La tecnica Run Length Encoding (RLE) è
un metodo di compressione dei dati che
riduce fisicamente qualunque tipo di
ripetizione di componenti elementari
] L’operazione di codifica impiega un
carattere speciale per indicare sui dati di
uscita la presenza di compressione delle
ripetizioni
12/02/2007
Sistemi di Elaborazione Dati
202
101
Run Length Encoding
] Ogni ripetizione di uno stesso carattere c,
detta run, viene sostituita in uscita con il
carattere speciale di inizio compressione,
seguito da c stesso (per indicare su quale
carattere è il run) e dal numero di
occorrenze di c
12/02/2007
Sistemi di Elaborazione Dati
203
Run Length Encoding
] Se ad esempio decidiamo di usare come
carattere speciale & la stringa:
abbccccccdddddddd
] La stringa di ingresso contiene quattro
run: [a], [bb], [cccccc] e [dddddddd] e
verrà codificata da:
abb&c6&d8
12/02/2007
Sistemi di Elaborazione Dati
204
102
Run Length Encoding
] Quando la lunghezza del
run è inferiore a 4 non
conviene usare la
compressione altrimenti
si avrebbe un effetto, non
voluto, di espansione
(C<1) dato che per
codificare un run
occorrono tre caratteri
12/02/2007
abbccccccdddddddd
abb&c6&d8
Sistemi di Elaborazione Dati
205
Run Length Encoding
] Per questo motivo i primi
due run (di a e b)
rimangono invariati nella
codifica
] Il run di 6 c viene invece
codificato con &c6, che
va letto “6 occorrenze del
simbolo c”, la stessa
codifica viene applicata al
run di d
12/02/2007
abbccccccdddddddd
Sistemi di Elaborazione Dati
abb&c6&d8
206
103
Run Length Encoding
] Altrettanto semplice è la procedura di
decodifica
] Si scandisce la stringa codificata e per
ogni carattere si verifica se sia uguale o
diverso da &: nel caso che sia diverso si
copia nella stringa decodificata, altrimenti
si scrivono nella stringa tanti caratteri che
seguono & quanti sono specificati dal
numero ancora successivo
12/02/2007
Sistemi di Elaborazione Dati
207
Tecniche statistiche
] La compressione RLE non fa alcuna distinzione
tra i componenti elementari del segnale da
comprimere, come abbiamo visto tutti i caratteri
sono uguali di fronte all’algoritmo di
compressione
] I metodi di compressione statistica si basano
sulla considerazione che le probabilità di
occorrenza di ogni carattere o gruppo di
caratteri non sono sempre uguali
12/02/2007
Sistemi di Elaborazione Dati
208
104
Tecniche statistiche
] Nella lingua italiana, ad esempio, la lettera
“i” appare in un qualsiasi documento
molto più frequentemente della lettera “q”
] Se si modifica la codifica dei vari caratteri
in modo tale da assegnare
rappresentazioni più corte ai caratteri (o
gruppi di caratteri) più frequenti si può
riuscire a risparmiare notevolmente nella
compressione
12/02/2007
Sistemi di Elaborazione Dati
209
Tecniche statistiche
] Un esempio di processo di codifica
statistica è il codice Morse dove un singolo
punto è usato per codificare la lettera “e”
(la più frequente nell’alfabeto inglese),
mentre sequenze di punti e linee più
lunghe sono impiegati per indicare i
caratteri meno frequenti (es. x = –••–)
12/02/2007
Sistemi di Elaborazione Dati
210
105
Algoritmo di tipo LZW (Lempel Ziv Welch)
Idea: sostituire gruppi di pixel con un codice che punta a un
“dizionario” dove è definito un tale gruppo
Dizionario
0x1
Immagine di
partenza
0xA
0xF
Immagine codificata
0x1;0xA;0x1;0x1;0x1;0xF;0xA;0xF;0xA
12/02/2007
Sistemi di Elaborazione Dati
211
LZW : Realizzazione
Si inizia con un
dizionario di 256
termini (per una
immagine a 256
livelli)
Il dizionario cresce
fino a un numero
di elementi pari
al numero di bit
dei codici
12/02/2007
Si cercano pattern (dim. fissa
o variabile) che si
ripetono, quando ciò si
verifica il dizionario
è aggiornato. Nella
variante lossy blocchi
“simili” (non necessariamente
identici) hanno stesso
codice
Se il dizionario è
pieno e un blocco
non è codificato,
si usa un “overload
code” cui seguono
i pixel-values
Sistemi di Elaborazione Dati
Il dizionario è
incollato ai
codici
212
106
Formati per immagini
digitali
Formati Grafici
] Un formato di dati grafico è una specifica che
descrive come memorizzare le caratteristiche di
un’immagine su file e può o non può prevedere
che si ricorra anche a tecniche di compressione
] La maggior parte dei formati grafici include delle
tecniche di compressione per memorizzare le
immagini, per cui si tende, nel parlare comune,
a confondere tra formati grafici e compressioni
di immagini
12/02/2007
Sistemi di Elaborazione Dati
214
107
Formati Grafici Raster
] intestazione (header) + dati
] header
\
\
\
\
\
\
\
dim immagine pixel x × pixel y
data creazione
programma creatore
autore disegno
disposizione dei (successivi) dati dei pixel
uso (eventuale) di tavolozze colori (palette)
uso (eventuale) di tecniche di compressione
] dati
\ colori dei pixel
12/02/2007
Sistemi di Elaborazione Dati
215
Formati Grafici Raster
] Loseless compression
\
\
\
\
GIF Graphic Interchange Format
BMP bitmap
PNG Portable Network Graphics
TIFF Tagged Image File Format
] Lossy compression
\ JPEG JFIF
\ Joint Photographic Experts Group – JPEG File
Interchange Format
12/02/2007
Sistemi di Elaborazione Dati
216
108
Graphics Interchange Format
] formato proprietario Compuserve Inc.
\ programmi che usano GIF pagano i diritti
diffuso su Internet
definito nel 1987, revisionato nel 1989
comprime dati con l’algoritmo LZW
max 8 bit per pixel (256 colori)
colori possono essere specificati una una palette (in
coda all’intestazione): Lookup Table
] header contiene versione (87a o 89a)
] un file può contenere più GIF (“GIF animate”)
] consente la definizione di un colore trasparente
]
]
]
]
]
12/02/2007
Sistemi di Elaborazione Dati
217
GIF
] Lo schema sottostante rappresenta come
è fatto un file GIF89:
GIF Signature
Screen Descriptor
Global Color Map
Image Descriptor
Local Color Map
Raster Data
ripetuto da 1 a n volte
GIF Terminator
12/02/2007
Sistemi di Elaborazione Dati
218
109
GIF
] GIF Signature 6 byte che
contengono i caratteri “GIF89a”
] Screen Descriptor 8 byte che
forniscono le seguenti
informazioni:
\ Larghezza dell'immagine
\ Altezza dell'immagine
\ Flag M (1 bit) che indica
l’esistenza della Global Color Map
\ cr (3 bit) che indica la color
resolution, es. cr=7 -> 256 colori
\ pixel aspect ratio
\ background color
12/02/2007
GIF Signature
Screen Descriptor
Global Color Map
Image Descriptor
Local Color Map
Raster Data
ripetuto da 1 a n volte
GIF Terminator
Sistemi di Elaborazione Dati
219
GIF
] Global color map contiene i
valori RGB di ogni colore della
palette (esiste solo se abilitata
dal flag M)
] Image Descriptor è un campo
che contiene il numero di
colonna (espresso in pixel) del
lato sinistro dell’immagine, il
numero di riga del lato in alto, la
larghezza e l’altezza
dell’immagine, un altro flag M
per indicare l’uso di una palette
locale e un flag I per indicare se
l’immagine è interlacciata
12/02/2007
GIF Signature
Screen Descriptor
Global Color Map
Image Descriptor
Local Color Map
Raster Data
ripetuto da 1 a n volte
GIF Terminator
Sistemi di Elaborazione Dati
220
110
GIF
] Local color map contiene una
sequenza di valori RGB nello stesso
formato della Global color map
Se presente, la Local color map
diventa la tabella attiva dei colori
(per l’immagine raster sottostante)
al posto della Global color map
] Raster Data contiene l’immagine
memorizzata riga per riga, da
sinistra verso destra
Un’eccezione a questo ordinamento
si ha se il flag I nell’Image
Descriptor è settato a 1, in tal caso
l'immagine è memorizzata tramite
un processo di interlacciamento a
quattro passi
12/02/2007
GIF Signature
Screen Descriptor
Global Color Map
Image Descriptor
Local Color Map
Raster Data
ripetuto da 1 a n volte
GIF Terminator
Sistemi di Elaborazione Dati
221
GIF
] Il formato GIF riduce l’occupazione su disco di un’immagine
limitando il numero di colori che compaiono in essa -> vengono
scelti quelli più frequenti, alcune sfumature vengono perse e sostituite
dalle sfumature più vicine fra quelle mantenute.
] Naturalmente più si limita il numero di colori più l’immagine sarà
piccola; il numero può andare da un minimo di 2 ad unmassimo di
256.
] L’insieme dei colori utilizzati viene salvato insieme all’immagine come
palette di colori.
] Il formato GIF è adatto ad immagini geometriche, possibilmente con
un numero di colori non elevato.
12/02/2007
Sistemi di Elaborazione Dati
222
111
BMP Bitmap
] Formato raster per eccellenza
] DIB = device-independent bitmap -> la bitmap
specifica il colore del pixel in una forma independente
dal metodo usato dal dispositivo di visualizzazione per
rappresentare il colore.
] supporta colori a 1, 4, 8 o 24 bit
\ 4 e 8 bit usano una palette o tavola dei colori
] pixel organizzati per righe
\ inizio: in basso a sx
] consente compressione Run Lenght Encoding per 4 e 8
bits di colore (opzionale)
12/02/2007
Sistemi di Elaborazione Dati
223
BMP Bitmap: Struttura
] Un file BMP può essere descritto in modo
astratto dalla seguente struttura:
BITMAPFILEHEADER bmfh;
BITMAPINFOHEADER bmih;
RGBQUAD aColors[];
BYTE aBitmapBits[];
12/02/2007
Sistemi di Elaborazione Dati
224
112
BMP Bitmap: Struttura
] BITMAPFILEHEADER è il bitmap-file header e contiene informazioni
su: tipo, dimensioni, e layout della DIB bmp.
] BITMAPINFOHEADER specifica: dimensioni, tipo di compressione, e
formato del colore.
] RGBQUAD (tavola dei colori). Non è presente per bitmaps a 24 bits
red-green-blue (RGB). I colori appaiono nella tabella in ordine di
importanza così da facilitare il display driver nel disegno su un
dispositivo che non può visualizzare tutti i colori presenti.
] BYTE è al sequenza de bitmap bits e segue immediatamente dopo
la tavola dei colori. Rappresenta le righe consecutive, "scan lines”,
della bitmap ottenute “bottom to up”. Ogni scan line consiste in
byte consecutivi relativi ai pixels nella scan line (in left-to-right
order). Il numero di bytes per una scan line dipende dal formato
del colore e dalla larghezza, in pixels.
12/02/2007
Sistemi di Elaborazione Dati
225
The following example is a text dump of a 16-color bitmap (4 bits per pixel):
Win3DIBFile
BitmapFileHeader
Type
19778
Size
3118
Reserved1 0
Reserved2 0
OffsetBits 118
BitmapInfoHeader
Size
40
Width
80
Height
75
Planes
1
BitCount
4
BMP Bitmap: Struttura
;può valere 1 (Monochrome), 4, 8 o 24 bits per
colore
Compression
0
SizeImage
3000
;può essere RLE8 a 256 colori o RLE4 a 16
colori
[00000000]
[00000001]
[00000002]
[00000003]
[00000004]
[00000005]
[00000006]
[00000007]
[00000008]
[00000009]
[0000000A]
[0000000B]
[0000000C]
[0000000D]
[0000000E]
[0000000F]
.
.
.
12/02/2007
XPelsPerMeter
0
YPelsPerMeter
0
ColorsUsed
16
ColorsImportant 16
Win3ColorTable
Blue Green Red Unused
84
252
84
0
252
252
84
0
84
84
252 0
252
84
252 0
84
252
252 0
252
252
252 0
0
0
0
0
168
0
0
0
0
168
0
0
168
168
0
0
0
0
168 0
168
0
168 0
0
168
168 0
168
168
168 0
84
84
84
0
252
84
84
0
Image
Bitmap data
Sistemi di Elaborazione Dati
226
113
PNG
] nasce con l’intento di soppiantare GIF (ma non supporta
“PNG animate”) ed è gratuito
\ pronuncia: ping
] supporta la compressione
\ dal 5% al 25% meglio di GIF
] fino a 48 bit per pixel (true color)
\ supporta la calibrazione del colore a 24 bit
] supporta trasparenza a gradazione
] supporta correzione gamma (per mantenere il corretto
rapporto di intensità tra parti di immagine)
12/02/2007
Sistemi di Elaborazione Dati
227
TIFF - Tag(ged) Image File Format
] Sviluppato per gli scanner nel 1986 da Microsoft e Aldus
(Adobe)
] immagini raster per uso professionale
] supporta colori fino a 24 bit
] Permette di rappresentare immagini con diversi spazi di
colore: scale di grigio, RGB, CMYK e CIELab
] dati organizzati ad accesso casuale
] supporta 5 metodi di compressione
\ 3 per i fax e 2 per le immagini di qualità
\ se ne possono specificare altri
12/02/2007
Sistemi di Elaborazione Dati
228
114
Lossy Compression
Lossy Compression
] Queste tecniche di compressione, come
già spiegato, vengono usate
essenzialmente per immagini o dati audio,
cioè quel tipo di segnali in cui è possibile
“tagliare” parte dell’informazione senza
perdita di significato
12/02/2007
Sistemi di Elaborazione Dati
230
115
Lossy Compression
] Per meglio comprendere come ciò sia
possibile, basta pensare alle normali
comunicazioni telefoniche: nonostante
l’udito umano possa percepire tutti i suoni
da 1 Hz a circa 18 KHz, la banda passante
del segnale telefonico è di appena 2 KHz,
senza che ciò pregiudichi la comprensione
delle conversazioni
12/02/2007
Sistemi di Elaborazione Dati
231
JPEG
] JPEG (Joint Photographic Experts Group) è
progettato per la compressione di immagini fullcolor o a toni di grigio
] La tecnica funziona in modo ottimale per
l’archiviazione di fotografie, opere artistiche e
similari mentre non è adatta per testi scritti,
disegni tecnici o al tratto
] JPEG codifica esclusivamente immagini fisse,
mentre esiste uno standard simile per sequenze
animate (MPEG)
12/02/2007
Sistemi di Elaborazione Dati
232
116
JPEG
] JPEG sfrutta i noti limiti del sistema visivo
umano che non percepisce piccoli
cambiamenti di colore, mentre è molto
sensibile a variazioni di luminosità
] In altre parole, JPEG tende ad alterare
l’informazione cromatica (traendo da
questo beneficio in compressione), ma
lascia il più possibile inalterata la
luminosità
12/02/2007
Sistemi di Elaborazione Dati
233
JPEG
] Un altra proprietà importante di JPEG è la
possibilità di tarare il “grado di perdita” (qualità
dell’immagine) tramite un opportuno parametro
] La dimensione del file codificato e la qualità
dell’immagine sono due fattori contrastanti: si
può rendere estremamente piccolo un file,
ottenendo però un’immagine di scarsa qualità,
oppure, viceversa, ottenere immagini di grande
qualità, memorizzate su file di dimensioni
maggiori
12/02/2007
Sistemi di Elaborazione Dati
234
117
Esempio
GIF89a
lossless
C=4.85
12/02/2007
Sistemi di Elaborazione Dati
235
Esempio
JPEG
Q=100
C=2.97
12/02/2007
Sistemi di Elaborazione Dati
236
118
Esempio
JPEG
Q=75
C=15.68
12/02/2007
Sistemi di Elaborazione Dati
237
Esempio
JPEG
Q=50
C=26.34
12/02/2007
Sistemi di Elaborazione Dati
238
119
Esempio
JPEG
Q=25
C=44.09
12/02/2007
Sistemi di Elaborazione Dati
239
Esempio
JPEG
Q=5
C=104.24
12/02/2007
Sistemi di Elaborazione Dati
240
120
JPEG vs GIF - Conclusioni
•Il formato JPEG riduce l’occupazione su disco di
un’immagine diminuendo la qualità di
visualizzazione -> consente di usare tutta la
gamma RGB.
• Mentre il formato GIF è adatto ad immagini
geometriche, possibilmente con un numero di
colori non elevato, il formato JPEG è adatto ad
immagini di tipo fotografico, dove la perdita di
qualità si nota di meno, o in generale ad immagini
dove un limite sul numero di colori produrrebbe
differenze troppo significative
12/02/2007
Sistemi di Elaborazione Dati
241
Formati grafici - Conclusioni
•Per inserire immagini in una pagina web i soli formati disponibili sono
jpeg, png e gif: gli altri non verrebbero visualizzati.
•Per le foto si può optare per il formato tiff o png, ma se vogliamo
risparmiare spazio è ottimo il formato jpeg che consente una riduzione
del file anche ad un decimo della dimensione iniziale, a fronte di una
perdita qualitativa trascurabile.
•Per le immagini o disegni con pochi colori si può utilizzare il png o il
formato gif, non è adatto invece lo jpeg che in questi casi degrada molto
l'immagine. Per ridurre ulteriormente la dimensione dei file utilizzando il
formato png si può prima trasformare l'immagine in scala di colori e poi
salvarlo.
•Per immagini di alta qualità da stampare o da conservare senza il rischio
di perdere il minimo dettaglio il tiff è ottimo.
12/02/2007
Sistemi di Elaborazione Dati
242
121
Schema riassuntivo
Compressione Traspa- Es. DimenUtilizzi
renza sione foto
Formato
Colori
Max
Nativo
Milioni Lossless
Si
1,5 MB
Jpeg
Milioni Lossy
No
0,1 MB
Png
Milioni Lossless
Si
1,1 MB
Gif
256
Lossless
Si
N/D
Tiff
Milioni Lossless
Si
1,5 MB
Bmp
Milioni Lossless
No
1,5 MB
Tutti, non per internet
Foto, anche da pubblicare
in rete
Tutti, compresi disegni
foto anche per il web
Disegni, loghi, immagini
con pochi colori,
animazioni, trasparenze
Tutti, stampa
Meno lo usate meglio è, se
proprio volete va bene un
po' per tutto, ma non per
il web
122