CORSO LAUREA MAGISTRALE IN SCIENZE
E TECNOLOGIE DELLE PRODUZIONI
ANIMALI
Tecnologie Informatiche ed
Elettroniche per le Produzioni
Animali
(corso TIE)
Massimo Lazzari
Scienze veterinarie per la salute,
la produzione animale
e la sicurezza alimentare – VESPA
Università di Milano
CORSO LAUREA MAGISTRALE IN SCIENZE E
TECNOLOGIE DELLE PRODUZIONI ANIMALI
Codifica dell’informazione
TIE per le Produzioni Animali
Massimo Lazzari
Scienze veterinarie per la salute,
la produzione animale
e la sicurezza alimentare – VESPA
Università di Milano
Rappresentazione binaria
•Tutta l’informazione interna
ad un computer è codificata
con sequenze di due soli
simboli : 0 e 1
•L’unità elementare di
informazione si chiama bit
da‘binary digit’
3
bit e Byte
4
Codifica dei caratteri
Alfabeto anglosassone: per codificare ogni
carattere sono sufficienti 7 bit (ASCII standard)
8 bit (ASCII esteso)
16 bit (UNICODE)
MS Windows usa un codice proprietario a16 bit per
carattere, simile ad UNICODE
ASCII = American Standard Code for Information Interchange
5
Codifica dei caratteri (ASCII)
ASCII Simb. ASCII Simb.
00000000 NUL 00001110
SO
ASCII Simb.
00011100
FS
00000001
SOH 00001111
SI
00011101
GS
00000010
STX 00010000
DLE 00011110
RS
00000011
ETX 00010001
DC1 00011111
US
00000100
EOT 00010010
DC2 00100000
SP
00000101
ENQ 00010011
DC3 00100001
!
00000110
ACK 00010011
DC4 00100010
"
00000111
BEL 00010101
NAK 00100011
#
00001000
BS
00010110
SYN 00100100
$
00001001
HT
00010111
ETB 00100101
%
00001010
NL
00011000
CAN 00100110
&
00001011
VT
00011001
EM
00100111
'
00001100
NP
00011010
SUB 00101000
(
00001101
CR
00011011
ESC 00101001
)
6
Codifica dei caratteri (ASCII)
ASCII
Simb.
ASCII
Simb.
ASCII
Simb.
00101010
*
00111001
9
01000111 G
00101011
+
00111010
:
01001000 H
00101100
,
00111011
;
01001001 I
00101101
-
00111100
<
01001010 J
00101110
.
00111101 =
01001011 K
00101111
/
00111110
>
00110000
0
00111111 ?
01001101 M
00110001
1
01000000 @
01001110 N
00110010
2
01000001 A
01001111 O
00110011
3
01000010
B
00110100
4
01000011 C
01010001 Q
00110101
5
01000100 D
01010010 R
00110110
6
01000101 E
01010011 S
00111000
8
01000110 F
01010100 T
01001100 L
01010000 P
7
Codifica delle parole
•
… e le parole? Sono sequenze di caratteri
Esempio: scienze ambientali
01110011 01100011 01101001 01100101 01101110 01111010 01100101 0000000
s
c
i
e
n
z
e

01100001 01101101 01100010 01101001 01100101 01101110 01110100 01100001 01101100 01101001
a
m
b
i
e
n
t
a
l
i
8
Il byte= unità di misura
Per rappresentare l’occupazione di memoria si usano i
multipli del byte 1 byte=8 bit

1 KB (kilo byte = 210 = 1024)
1 MB (Mega byte = 220 = 1
KB*1024)
30 = 1 MB*1024)
 1 GB (Giga byte = 2
 1 TB (Tera byte = 240 = 1 GB*1024)

9
Rappresentazioni di immagini
•Le immagini sono un ‘continuo’ e non sono formate
da sequenze di oggetti ben definiti come i numeri
•Bisogna quindi prima ‘discretizzarle’ ovvero
trasformarle in un insieme di parti distinte che
possono essere codificate separatamente con
sequenze di bit
10
Immagini bitmap (raster)
•Immagini ‘bitmap’ :
L’immagine viene scomposta in una griglia di
elementi detti pixel (da picture element)
000000000000000000000000
000000000011111111000000
000000000010000010000000
000000000010000100000000
000000000010001000000000
000000000010010000000000
000000000010100000000000
000000000011000000000000
000000000010000000000000
11
12
Immagini a toni di grigio o colori
•Rappresentazioni dei pixel :
la rappresentazione in ‘toni di grigio’ : un byte
per pixel, con 256 gradazioni di grigio per ogni
punto, o più byte per pixel, per avere più
gradazioni possibili
rappresentazione a colori RGB (red, green,blu):
comunemente 3 byte (24 bit) per pixel che
definiscono l’intensità di ciascun colore base. In
questo modo ho circa 16 milioni di colori diversi
13
definibili
Immagini raster o vettoriali
Il formato bitmap viene anche definito formato raster,
nome che in inglese indica l'insieme di linee orizzonali che la
televisione traccia sullo schermo, punto dopo punto, al fine
di riprodurre l'immagine.
Il formato bitmap è idoneo per le fotografie e per tutte le
immagini composte da forme non regolari.
Viene rimpiazzato dal formato vettoriale nel disegno
tecnico e architettonico, dovunque si debbano tracciare
figure geometriche regolari o forme comunque complesse
riconducibili a un insieme di triangoli e poligoni.
14
Immagini raster o vettoriali
Il vettore identifica il punto di partenza e di fine di una
retta, la sua direzione, il suo spessore e il suo colore, ma
non definisce ciascun punto della retta che viene costruito
invece dal programma al momento della sua visualizzazione.
Tutte le immagini stampate su una rivista o visualizzate in
televisione devono essere in formato bitmap.
Le immagini create da un programma di progettazione e di
disegno tecnico sono quasi sempre vettoriali. Le immagini
prodotte dai giochi sono in parte bitmap (gli sfondi e alcune
superfici degli oggetti) e in parte vettoriali (gli oggetti che
si muovono e che cambiano nello spazio).
15
Rappresentazione vettoriale
16
Occupazione in memoria (raster)


128 x 128 toni di grigio 128Kb
1024x768 colori (RGB) circa 2,4MB
17
Occupazione in memoria (raster)
18
Compressione delle immagini raster
•Quindi si cerca di ‘risparmiare’ memoria :
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
con tecniche di compressione che non codificano ogni
pixel in modo autonomo ma cercano di raggruppare i le
aree che hanno caratteristiche comuni
•Formati più usati : TIFF (tagged image file format), GIF
(graphics interchange format), JPEG (Joint photographers
expert group)
19
Uso di palette di colori
20
Estensione file immagine
21
Compressione senza perdita
•Algoritmi lossless (senza perdita di
informazione) : operano un cambiamento di
codifica dei dati che permette di diminuire
il numero di bit necessari alla
rappresentazione
22
Compressione con perdita
•Algoritmi lossy (che perdono informazione)
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
23
Immagini video
Il movimento è rappresentato già in modo discreto nei
media : infatti con un numero abbastanza alto di
fotogrammi fissi (24-30 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 (650 MB, un intero
CD per un minuto di proiezione …)
sono stati quindi sviluppati metodi di codifica che
economizzano, codificando solo le ‘differenze’ fra un
fotogramma e l’altro (MPEG)
24
Codifica dei suoni
•
Fisicamente un suono è rappresentato come
un’onda che descrive la variazione della
pressione dell’aria nel tempo (onda sonora)
t
•
Sull’asse delle ascisse viene posto il tempo t e
sull’asse delle ordinate la variazione della
pressione corrispondente
25
Codifica dei suoni
•
Si effettuano dei campionamenti sull’onda (cioè si
misura il valore dell’onda ad intervalli di tempo
costanti) e si codificano in forma digitale le
informazioni estratte da tali campionamenti
•
La sequenza dei valori numerici ottenuta dai
campioni può essere facilmente codificata
26
Codifica dei suoni
•
Quanto più frequentemente il valore dell’onda
viene campionato, tanto più precisa sarà la sua
rappresentazione
t
•
Il numero di campioni raccolti per ogni secondo
definisce la frequenza di campionamento che si
misura in Hertz (Hz)
27
Codifica dei numeri
•
Il codice ASCII consente di codificare le cifre
decimali da “0” a “9” fornendo in questo modo un
metodo per la rappresentazione dei numeri
•
Il numero 324 potrebbe essere rappresentato dalla
sequenza di byte: 00110011 00110010 00110100
3
•
2
4
Questa rappresentazione non è efficiente e,
soprattutto, non è adatta per eseguire le operazioni
aritmetiche sui numeri
28
Codifica dei numeri: il sistema decimale
•
Sistema posizionale in cui ogni cifra di un numero
assume un valore che dipende dalla sua posizione
365 = 3 x 100 + 6 x 10 + 5 x 1
365 = 3 x 102 + 6 x 101 + 5 x 100
Si deve fare la somma dei prodotti di
ciascuna cifra moltiplicata per la base
elevata
all’esponente che rappresenta la
posizione della cifra stessa
(partendo da 0)
Codifica dei numeri
•
•
La notazione posizionale può essere usata con
qualunque base creando così sistemi di
numerazione diversi
Per ogni sistema di numerazione si usa un numero
di cifre uguale alla base
In informatica si usano
prevalentemente le numerazioni
binaria (base 2), ottale (base 8)
ed esadecimale (base 16)
30
Sistemi di numerazione diversi
31
Sistema binario
•
Utilizza una notazione posizionale basata su 2
cifre (0 e 1) e sulle potenze di 2
•
Esempio: 10011 =
1 x 24 + 0 x 23 + 0 x 22 + 1 x 21 + 1 x 20
= 19
32
Sistema ottale
•
Utilizza una notazione posizionale basata su 8
cifre (0,1, …, 7 ) e sulle potenze di 8
•
Esempio: 10011 =
1 x 84 + 0 x 83 + 0 x 82 + 1 x 81 + 1 x 80
•
Per
evitare
ambiguità
si
può
esplicitamente la base di un numero
•
Esempio: 100112  100118  1001110
= 4105
scrivere
33
Sistema esadecimale
•
Utilizza una notazione posizionale basata su 16
cifre (0,1,2,3,4,5,6,7,8,9,A,B,C,D,E,F) e sulle
potenze di 16
•
Esempio:
1001116 = 1 x 164 + 0 x 163 + 0 x 162 + 1 x 161 + 1 x 160 = 65553
Esempio: AAC316 = 10 x163 + 10 x 162 + 12 x 161 + 3 x 160 = 43715
•
34
35
Conversione da base 10 a base 2
•
Per convertire un numero in base 2 si devono
trovare i resti delle divisioni successive del
numero per la base 2
•
Esempio: 21010
210
105
52
26
13
6
3
1
2
2
2
2
2
2
2
2
resto 0
resto 1
resto 0
resto 0
resto 1
resto 0
resto 1
resto 1
36
Conversione da base 10 a base 2
•
Leggendo la sequenza dal basso verso l’alto si
ottiene il numero
110100102
•
Per una corretta verifica basta riconvertire il
risultato alla base 10.
•
Per le altre basi il procedimento è lo stesso
cambiando il divisore.
37
Altro esempio
38
Rappresentazione dei numeri
•
I numeri vengono distinti in tre categorie
• Interi positivi
• Interi con segno (positivi e negativi)
• Reali (positivi e negativi con virgola)
•
Ogni categoria viene rappresentata in modo
diverso
39
Numeri interi positivi
•
Dobbiamo usare un numero fissato di cifre
•
Esempio: qual è il numero più grande rappresentabile con
4 cifre?
in base 10
in base 2
in base 16
in base 8
9999
1111
FFFF
7777
(= 1510)
(= 6553510)
(= 409510)
40
Numeri interi positivi
•
Deciso il numero di cifre a disposizione si fissa
anche il numero massimo rappresentabile, numeri
più grandi causano problemi di overflow
•
Esempio: 4 cifre
in base 10
9999 + 1 = 1000010
in base 2
1111 + 1 = 100002 (= 1610)
In base 16 FFFF + 1 = 1000016 (= 6553610)
in base 8
7777 + 1 = 100008 (= 409610)
41
Numeri interi positivi
•
In generale, con n cifre a disposizion e base b il
più
grande
numero
(intero
positivo)
rappresentabile si può esprimere come
bn - 1
•
Esempio:
in base 10
in base 2
in base 16
in base 8
9999 = 104 - 1
1111 = 24 - 1
FFFF = 164 - 1
7777 = 84 - 1
42
Numeri interi con segno e numeri reali
•
Anche in questi casi sono state definite delle
tecniche per la loro codifica
•
Usando queste rappresentazioni si possono fare le
usuali operazioni matematiche
43
Numeri interi con segno e numeri reali
44
La rappresentazione dell'informazione
….
indipendentemente dall’informazione di
partenza si ottiene sempre una sequenza di bit
45
Scarica

codifica dell`informazione