Rappresentazione dei Dati

Transcript

Rappresentazione dei Dati
Abilità Informatiche A.A. 2010/2011
Lezione 3: Rappresentazione dei Dati
Facoltà di Lingue e Letterature Straniere
Ricapitolando

I computer sanno eseguire solo un numero molto ridotto di
operazioni su simboli di un dato linguaggio (i numeri binari, che
vedremo).

Per funzionare i computer hanno bisogno di:


Un programma che li istruisca su cosa fare
Dati sui quali agire
Abbiamo quindi bisogno di tradurre sia i programmi che i
dati in un linguaggio “comprensibile” al computer.
Parleremo di rappresentazione e codifica dell‟informazione.
2
Gestione delle informazioni
Nelle attività umane, le informazioni vengono gestite (registrate e scambiate) in
forme diverse:
 idee informali
 linguaggio naturale (scritto o parlato, formale o colloquiale, in una lingua o in
un‟altra)
 disegni, grafici, schemi
 numeri e codici
e su vari supporti
 memoria umana, carta, dispositivi elettronici


Nelle attività standardizzate dei sistemi informativi complessi, sono state
introdotte col tempo forme di organizzazione e codifica delle informazioni
Ad esempio, nei servizi anagrafici si è iniziato con registrazioni discorsive e poi
 nome e cognome
 estremi anagrafici
 codice fiscale


3
Informazioni e dati
Nei sistemi informatici (e non solo), le informazioni vengono
rappresentate in modo essenziale, spartano: attraverso i dati
Dal Vocabolario della lingua italiana:
informazione: notizia, dato o elemento che consente di avere conoscenza
più o meno esatta di fatti, situazioni, modi di essere.
dato: ciò che è immediatamente presente alla conoscenza, prima di ogni
elaborazione; (in informatica) elementi di informazione costituiti da
simboli che debbono essere elaborati.


4
Dati e informazioni
I dati hanno bisogno di essere interpretati.
Esempio
„Mario‟ ‟275‟ su un foglio di carta sono due dati.

Se il foglio di carta viene fornito in risposta alla domanda “A chi mi
devo rivolgere per il problema X; qual è il suo interno?”, allora i dati
possono essere interpretati per fornire informazione e arricchire
la conoscenza.
Perché i dati?



5
La rappresentazione precisa di forme più ricche di informazione e
conoscenza è difficile.
I dati costituiscono spesso una risorsa strategica, perché più stabili
nel tempo di altre componenti (processi, tecnologie, ruoli umani).
Codifica dell’informazione

Per rappresentare l‟informazione in modo non fruibile dal computer
abbiamo bisogno di codici che la possano esprimere in modo
semplice, sintetico e non ambiguo.

Un codice (o linguaggio) su basa su:



6
Un alfabeto di simboli
Una sintassi con cui comporre tali simboli in sequenze
Una semantica da associare ai simboli e alle sequenze
Informazione e supporto


7
L‟informazione è “portata da”, o “trasmessa su”, o “contenuta
in qualcosa”; questo qualcosa non è l‟informazione stessa, ma il
supporto.
Ogni supporto ha le sue caratteristiche in quanto mezzo su cui può
essere “scritta” dell‟informazione.
 Alcuni supporti sono adatti alla trasmissione ma non alla
memorizzazione dell‟informazione (aria, cavi,..) e viceversa (CD,
hard disc,..).
Stessa informazione, diversi supporti
8
7
6
cinque
5
4
3
2
1
0
8
Stesso supporto, diversa informazione
inglese
italiano
italiano
fare
spagnolo
italiano
9
tariffa, prezzo.
inglese
to make, to do, to build.
italiano
burro
asino, cavalletto, somaro.
spagnolo
mantequilla, manteca.
Entità logiche e fisiche

Distinguere informazione e supporto fisico è distinguere tra entità
logiche ed entità fisiche.
 L‟informazione richiede un supporto fisico, ma non coincide con
esso.
 L‟informazione è una entità extra-fisica, non interpretabile in
termini di materia-energia e sottoposta alle leggi della fisica solo
perché basata su un supporto fisico.

L’informazione si può creare e distruggere.
10
Quando un sistema fisico
supporta informazione?

Si ottiene informazione quando, dato un insieme di alternative possibili,
la lettura del supporto ne elimina alcune e ne seleziona altre.

Condizione necessaria perché un supporto possa portare
informazione è che possa assumere configurazioni differenti, a
ognuna delle quali venga associata una differente entità di
informazione.
11
Prima condizione sul supporto

Un supporto che possa presentarsi sempre e comunque in un
unico modo non può portare alcuna informazione.

“Il supporto fisico deve consentire di distinguere tra le varie
configurazioni attraverso determinate differenze.”

Il caso più semplice è quello in cui le configurazioni del supporto
sono due.
12
Configurazioni e codici




A ogni configurazione del supporto deve essere associata una entità di
informazione. A esempio:
 interruttore premuto = “luce accesa”
 interruttore rilasciato = “luce spenta”.
Per interpretare le differenti configurazioni del supporto in termini di
informazione è necessario conoscere il codice, ovvero la “regola” che
ad ogni configurazione (ammessa) del supporto associa una entità di
informazione.
La definizione di un codice comporta che sia identificato in modo non
ambiguo l‟insieme delle possibili configurazioni del supporto e delle
possibili entità di informazione cui ci si vuole riferire.
Ad uno stesso supporto fisico possono essere associati più codici.
13
Possibili rappresentazioni dei numeri

Unaria: una barretta per unita‟
 Ad es: IIIIIIIIIIIIII rappresenta 15!!!

Numeri Romani con multipli di 5:
Alfabeto: I(uno) V(5) X(10) L(50) C(100) D(500) M(1000)
Si minimizza numero di simboli ad es:
I II III IV V …. XL (40) …. MCCLXXI (1271)….
Problema con numeri > 4000:
 Ad es. MMMMMMMMMMMM…
Difficile eseguire le operazioni!
14
Il codice binario (1)


Il bit è il supporto più semplice.
Possiamo immaginare il bit come un interruttore che ha soltanto
due posizioni (configurazioni):
0
15
1
Il codice binario (2)



16
Definire un codice binario significa associare ad ogni configurazione
di bit una certa entità di informazione.
Anche se tipicamente le entità di informazione associate sono
numeri decimali, è possibile associare qualsiasi insieme di oggetti
all‟insieme di configurazioni.
La codifica binaria più semplice è quella ad 1 bit, ovvero:
binario
decimale
0
1
0
1
Il codice binario (3)
Si possono definire codifiche costituite da un numero n arbitrario di bit.
Ad esempio:
Codifica a 2 bit (4 configurazioni)
bin
00
01
10
11
17
Codifica a 3 bit (8 configurazioni)
bin
dec
000
001
010
011
100
101
110
111
0
1
2
3
4
5
6
7
dec
0
1
2
3
Il codice binario (4)



18
Dato una parola di n bit, il numero delle possibili configurazioni è
2n. Ad esempio, nella codifica a 3 bit vi sono 23 = 8 configurazioni.
Il codice binario è detto posizionale, in quanto ogni bit assume
valore più o meno significativo a seconda della sua posizione.
Tipicamente, più i bit sono posizionati verso sinistra, maggiore è il
loro valore.
La traduzione da binario a decimale si effettua moltiplicando il
valore 2k per ogni bit (dove k è la posizione del bit all‟interno della
codifica, partendo da destra) e sommando tutti i valori ottenuti.
Notazione posizionale in base 10

La rappresentazione di un numero intero in base 10 è una
sequenza di cifre scelte fra
0123456789


es: 23, 118, 4
Il valore di una rappresentazione è dato da


19
23 = 2*101 + 3 * 100 = 20 + 3
118 = 1*102 + 1*101 + 8 * 100 = 100 + 10 + 8
Notazione posizionale in base 10:
limite nella rappresentazione

Il massimo numero rappresentabile con n cifre è 99….9
(n volte 9, la cifra che vale di più), pari a 10n-1

20
es: su tre cifre il massimo numero rappresentabile
è 999 pari a 103-1 =1000-1
Notazione posizionale in base 2

La rappresentazione di un numero intero in base 2 è una
sequenza di cifre scelte fra
01


es: 10, 110, 1
Il valore di una rappresentazione è dato da



21
10 = 1*21 + 0 *20 = 2
110 = 1*22 + 1*21 + 0 * 20 = 4 + 2 + 0 = 6
1 = 1 *20 = 1
Conversione da base 10 a base 2
Dato un numero N si calcola la sua
rappresentazione in base 2
Conversione per divisione :
si divide ripetutamente N per 2
i resti ottenuti nella divisioni presi nell’ordine inverso in
cui sono stati calcolati formano la sua rappresentazione
binaria
22
Conversione da base 10 a base 2
Come si converte N nella sua rappresentazione in
base 2 usando il metodo della divisione
Es : convertiamo il numero 13
13 / 2 = quoziente 6 e resto 1
6 / 2 = quoziente 3 e resto 0
3 / 2 = quoziente 1 e resto 1
1 / 2 = quoziente 0 e resto 1
La rappresentazione binaria di 13 è 1101
23
Conversione da base 10 a base 2
Si calcolano i resti delle divisioni per due
18 : 2 = 9
9 :2 = 4
4 :2 = 2
2 :2 = 1
1 :2 = 0
resto 0
resto 1
resto 0
resto 0
resto 1
10010
137 : 2 =
68 : 2 =
34 : 2 =
17 : 2 =
8 :2 =
4 :2 =
2 :2 =
1 :2 =
68
34
17
8
4
2
1
0
10001001
24
resto 1
resto 0
resto 0
resto 1
resto 0
resto 0
resto 0
resto 1
Da binario a decimale, un esercizio
La base é b = 2.
Si possono utilizzare solo le cifre 0 e 1.
Esercizio
Trasformare il numero binario 101001011 nella
corrispondente rappresentazione decimale.
1010010112 = 1 x 28 + 0 x 27 + 1 x 26 + 0 x 25 + 0 x 24 +
1 x 23 + 0 x 22 + 1 x 21 + 1 x 20 =
= (256 + 64 + 8 + 2 + 1) =
= 331
25
Un altro esempio

Tradurre in decimale la seguente parola di 5 bit.
Posizione:
Bit più significativo
(MSB)
4 3
2
1
0
10101
Bit meno significativo
(LSB)
1×24 + 0×23 + 1×22 + 0×21 + 1×20 =
16 +
0 +
4 +
0 +
1 =
21
26
Notazione posizionale in base 2



Per la base due valgono proprietà analoghe a quelle
viste per la base 10
Il massimo numero rappresentabile con N cifre è 11….1
(N volte 1, la cifra che vale di più), pari a 2N-1
 es: su tre cifre il massimo numero rappresentabile è
111 pari a 23-1 = 8 - 1 = 7
Quindi se voglio rappresentare K diverse configurazioni
(cioè 0 1 2 …K-1) mi servono almeno almeno x cifre
dove 2x è la più piccola potenza di 2 che supera K
 es : se voglio 25 configurazioni diverse mi servono
almeno 5 cifre perché 25=32 è la più piccola potenza di
2 maggiore di 25
27
Base 2: un esercizio
Con n bit è possibile rappresentare 2n numeri naturali
diversi, da 0 a 2n-1.
0 = 000 … 000
(n zeri)
2n-1 = 111 … 111 (n uni)
Esercizio: quali sono i numeri naturali che si possono
rappresentare con quattro bit ?
Soluzione: Tutti i numeri naturali compresi tra
0 e 24 - 1 = 16 - 1= 15
28
Rappresentazione dei numeri all’interno di
un computer



Usa la notazione binaria
Ogni numero viene rappresentato con un numero finito di
cifre binarie (bit)
Numeri di „tipo‟ diverso hanno rappresentazioni diverse


Es. interi positivi, interi (pos. e neg.), razionali, reali, complessi
Alcuni punti importanti:
 se uso 4 byte (32 bit) posso rappresentare solo i numeri
positivi da 0 a 232-1=231, che sono molti ma non tutti!
 se moltiplico o sommo due numeri molto elevati posso
ottenere un numero che non è rappresentabile
Es. vediamo cosa succede in base 10 con solo 3 cifre :
500 + 636 = 1136 risultato 136
se uso solo 3 cifre non ho lo spazio fisico per scrivere la
prima cifra (1) che viene „persa‟:
Questo fenomeno viene chiamato overflow

29
Rappresentazione di interi
all’interno di un computer

Interi positivi e negativi:


es. il tipo int in C usa di solito 4 byte
ci sono diverse convenzioni di rappresentazione


30
Es: modulo e segno (MS) in cui il primo bit viene riservato al segno (1
negativo, 0 positivo) e gli altri 31 al modulo
rimane il problema dell‟overflow
Rappresentazione di un
insieme finito di oggetti (un esempio)



Vogliamo rappresentare i giorni della settimana:
{Lu, Ma, Me, Gio, Ve, Sa, Do}
usando sequenze 0 e 1
Questo significa costruire un „codice‟, cioè una tabella di
corrispondenza che ad ogni giorno associa una opportuna
sequenza
In principio possiamo scegliere la corrispondenza in
modo del tutto arbitrario….
31
Rappresentazione di un
insieme finito di oggetti (un esempio/1)

Una possibile codifica binaria per i giorni della settimana








Lunedì
Martedì
Mercoledì
Giovedì
Venerdì
Sabato
Domenica
0100010001
001
1100000
1
101010
111111
000001
Problema : la tabellina di corrispondenza fra codifiche tutte di
lunghezza diversa




32
spreco di memoria
devo capire come interpretare una sequenza di codifiche
110000011 = Me Gio Gio
110000011 = Gio Gio Do Gio
Rappresentazione di un
insieme finito di oggetti (un esempio/2)


Di solito si usa un numero di bit uguale per tutti : il
minimo indispensabile
Per rappresentare 7 oggetti diversi servono almeno 3 bit
(minima potenza di due che supera 7 è 8= 23) quindi:








33
000 Lunedì
001 Martedì
010 Mercoledì
011 Giovedì
100 Venerdì
101 Sabato
110 Domenica
111 non ammesso
I giorni della settimana in binario
Codifica ad 1 bit
Codifica a 2 bit
Codifica a 3 bit
Lunedì
Martedì
Mercoledì
Giovedì
Venerdì
Sabato
Domenica
Lunedì
Martedì
Mercoledì
Giovedì
Venerdì
Sabato
Domenica
Lunedì
Martedì
Mercoledì
Giovedì
Venerdì
Sabato
Domenica
2 configurazioni
34
0
1
00
01
10
11
4 configurazioni
000
001
010
011
100
101
110
111
8 configurazioni
Unità di misura ed ordini di grandezza
Bit = unità di misura elementare.Vale 0 o 1.
Byte = 8 bit
KiloByte [KB ] = 210 Byte = 1024 Byte ~ 103 Byte
MegaByte [MB ] = 220 Byte = 1 048 576 Byte ~ 106 Byte
GigaByte [GB ] = 230 Byte ~ 109 Byte
TeraByte [TB ] = 240 Byte ~ 1012 Byte
PetaByte [PB ] = 250 Byte ~ 1015 Byte
ExaByte [EB ] = 260 Byte ~ 1018 Byte
35
Unità di misura in base due
bit
1 cifra binaria
memorizza 0 oppure 1
byte
8 bit
memorizza un carattere
parola
da 16 a 64 bit
numeri e indirizzi di memoria
Kilobyte (KB)
1024 byte
circa mezza pagina di testo
Megabyte (MB)
1024 KB
un libro di 200 pagine
Gigabyte (GB)
1024 MB
alcuni volumi
Terabyte (TB)
1024 GB
una biblioteca
Petabyte (PB)
1024 TB
molte biblioteche
36
Codifica binaria dei caratteri

Quanti sono gli oggetti compresi nell‟insieme?





26 lettere maiuscole + 26 minuscole
52
10 cifre
Circa 30 segni d‟interpunzione
Circa 30 caratteri di controllo (EOF, CR, LF, …)
circa 120 oggetti complessivi
k = log2120 = 7
Codice ASCII: utilizza 7 bit e quindi può
rappresentare al massimo 27=128 caratteri


37
Con 8 bit (= byte) rappresento 256 caratteri (ASCII esteso)
Si stanno diffondendo codici più estesi (e.g. UNICODE) per
rappresentare anche i caratteri delle lingue orientali
0010
0011
0100
0101
0110
0111
1010
1011
1100
1101
010 spc
!
“
#
$
%
&
‘
(
)
*
+
,
-
.
/
011
0
1
2
3
4
5
6
7
8
9
:
;
<
=
>
?
100 @
A
B
C
D
E
F
G
H
I
J
K
L
M
N
O
101
P
Q
R
S
T
U
V
W X
Y
Z
[
\
]
^
_
110
`
a
b
c
d
e
f
g
h
i
j
k
l
m
n
o
111
p
q
r
s
t
u
v
w
x
y
z
{
|
}
~
del
0000
0001
LSB
Codice ASCII a 7 bit
MSB
Esempio: il carattere parentesi graffa “ { “ ha codice ASCII decimale 123,
equivalente alla parola ASCII binaria di 7 bit: 111 1011 (si verifichi che la
codifica di questo carattere è esatta).
38
Informazione in formato digitale

il risultato? Una stringa di caratteri sarà rappresentata dal computer
come una successione di gruppi di 8 bit (8 bit = 1 byte)
O G G
01001111
39
01000111
01000111
I
01001001
P
00100000
01010000
I
01001001
O V
01001111
01010110
E
01000101
Il set di caratteri ISO-Latin-1

ISO-Latin-1 (ISO-8859-1 o ASCII esteso)
 unica estensione standard di ASCII
 1 byte = 8 bit = 28 punti di codice = 256 caratteri rappresentati
 sufficiente per lingue europee occidentali (italiano, francese, ecc.)
ASCII Standard
Caratteri di controllo
0-32
128-159
40
La famiglia di caratteri ISO-8859




14 set di caratteri standardizzati da ISO (International Standard
Organization)
Codifica: 1 byte = 256 caratteri rappresentati da ciascun set
Soprainsiemi dei caratteri ASCII Standard
 punti di codice 0 - 127
(parte comune) ASCII
 punti di codice 128 - 159 codici di controllo (non corrispondono a
caratteri grafici)
 punti di codice 160 - 255 (parte variabile) caratteri aggiuntivi per greco,
cirillico, lingue slave, arabo, ebraico, ecc.
I set di ISO-8859 sono tutti reciprocamente incompatibili

Punto di codice 232



ISO-8859-1 (Latin-1) = “è”
ISO-8859-5 (Cyrillic) = “ш”
ISO-8859 non copre lingue come giapponese, cinese, ecc.
41
La famiglia di caratteri ISO-8859
ISO-Latin-1
42
The Universal Character Set
UNICODE (ISO-10646)

Standard internazionale che si prefigge di rappresentare qualsiasi tipo di
carattere appartenente ai sistemi grafici esistenti
 Sistemi di scrittura di tutte le lingue europee, asiatiche, africane, ecc.,
sia antiche che moderne.
 Sistemi di caratteri basati sui fonemi (p.es. italiano), sulle sillabe (p.es.
Thai), su ideogrammi (p.es. Cinese), geroglifici, braille, ecc.
 Sistemi di simboli tecnici e scientifici (p.es. matematica, logica)
 Punteggiatura e segni diacritici (p.es. accenti)

Risolve i problemi di incompatibilità dei sistemi ISO-8859
 estende l‟insieme dei caratteri supportati
 permette la realizzazione di documenti multilingui

http://www.unicode.org
43
The Universal Character Set
UNICODE (ISO-10646)

Circa 96.000 caratteri grafici rappresentati (Unicode v. 4.0)
… ma i punti di codice disponibili sono più di 1 milione (4 byte)!!
I primi 65536 caratteri (216) costituiscono il Basic Multilingual Plane
(BMP), primo di 17 “piani” in cui è diviso UNICODE. Nel BMP, 6500 punti
di codice sono riservati per usi privati (loghi, trademarks…)
44
The Universal Character Set
UNICODE (ISO-10646)


I punti di codice sono rappresentati con “U+numero
esadecimale”, ed hanno un nome standard:
 “A” U+0041 = ”Latin Capital Letter A” (decimale 65)
 “ω” = U+03C9 = ”Greek Letter Omega”
I primi 256 caratteri sono identici al set di caratteri Latin-1, a
sua volta un soprainsieme dell' ASCII.
45
UNICODE:
composizione dei caratteri


46
Caratteri complessi (p.es. “u” con umlaut) possono essere
rappresentati in due modi:
 Come elementi precostituiti (codice U+00FC, ”ü”)
 Come elementi composti, formati da un carattere di base quale
”u” (U+0075) ed uno o più caratteri che non introducono
spaziatura (”non spacing”), che vengono quindi sovrascritti al
precedente, in questo caso ”¨” (U+0308)
Problema dell‟ordinamento alfabetico (come decomporre caratteri
complessi)
Blocchi di codice



I vari alfabeti sono divisi in gruppi detti “blocchi di codice”
(code blocks)
Si è tuttavia cercato di non duplicare i caratteri di lingue
diverse. Non esiste p.es. una “A” italiana, una “A”
norvegese.
Anche le migliaia di ideogrammi comuni alla scrittura
cinese, giapponese e coreana (che discendono tutti da una
scrittura comune) sono unificati.
47
The Universal Character Set
UNICODE (ISO-10646)
48
Campionamento e quantizzazione


Gli elaboratori elettronici hanno natura discreta, ovvero ogni
grandezza in gioco può essere rappresentata soltanto da un numero
finito di elementi.
Per essere elaborati da un calcolatore, segnali intrinsecamente
continui quali suoni, immagini, video ecc., devono essere discretizzati
(digitalizzati) attraverso operazioni di campionamento e
quantizzazione.
49
Campionamento
ampiezza
segnale continuo
t



tempo
ampiezza
segnale campionato
tempo (discreto)
Il segnale continuo viene campionato ad intervalli di tempo regolari t
(t = intervallo di campionamento).
Il segnale risultante è un insieme finito di punti equidistanti nel tempo. Tuttavia le
ampiezze devono essere ancora approssimate ad intervalli discreti, ovvero
quantizzate.
Si noti che campionamento e quantizzazione comportano una perdita di
informazione.
50
Quantizzazione
Ampiezza
(discreta e codificata)
111
110
segnale quantizzato
101
Codifica a 3 bit
100
011
010
001
000
Tempo (discreto)


La quantizzazione suddivide l‟ampiezza in n intervalli uguali che vengono poi
codificati in binario. Ogni valore di ampiezza del segnale campionato viene
approssimato al più vicino valore discreto di ampiezza.
Più valori (e quindi più bit) si utilizzano per suddividere le ampiezze, più il segnale
risultante sarà preciso.
51
Le immagini digitali
Le immagini digitali non hanno una struttura continua ma sono costituite
da un numero finito di componenti monocromatiche (pixel) prodotte dal
campionamento dell‟immagine reale. I pixel assumono un numero finito di
tonalità definite dalla quantizzazione dell‟immagine campionata.
52
Codifica delle immagini



53
L‟immagine è suddivisa in punti (pixel) e ciascun punto è codificato
con un numero che corrisponde
 A un particolare colore
 A un particolare tono di grigio nelle immagini b/n
In genere si utilizza un numero di colori o di sfumature di grigio
che sia potenza di 2 per rappresentare un‟immagine come
sequenza di byte.
Deve essere memorizzata anche la dimensione dell‟immagine e la
risoluzione (dpi, “dot per inch”)
Codifica di immagini

Consideriamo un'immagine in bianco e nero, senza ombreggiature o
livelli di chiaroscuro

Suddividiamo l‟immagine mediante una griglia formata da righe
orizzontali e verticali a distanza costante
54
Codifica di immagini

Ogni quadratino derivante da tale suddivisione prende il nome di pixel
(picture element) e può essere codificato in binario secondo la seguente
convenzione:
 il simbolo “0” viene utilizzato per la codifica di un pixel
corrispondente ad un quadratino bianco (in cui il bianco è
predominante)
 il simbolo “1” viene utilizzato per la codifica di un pixel
corrispondente ad un quadratino nero (in cui il nero è predominante)
55
Codifica di immagini
Poiché una sequenza di bit è lineare, si deve definire una convenzione per
ordinare i pixel della griglia
Assumiamo che i pixel siano ordinati dal basso verso l'alto e da sinistra
verso destra
022 123 024 025 026 027 028
015 116 117 018 019 020 021
0 8 1 9 110 111 112 013 014
0 1 0 2 0 3 04 0 5 0 6 0 7
La rappresentazione della figura è data dalla stringa binaria
0000000 0111100 0110000 0100000
56
Codifica di immagini


57
Non sempre il contorno della figura coincide con le linee della griglia:
nella codifica si ottiene un‟approssimazione della figura originaria
Se riconvertiamo la stringa 0000000011110001100000100000
in immagine otteniamo
Codifica di immagini

La rappresentazione dell'immagine - e quindi la sua qualità - sarà
tanto più fedele all'originale quanto più aumenterà il numero di
pixel; ovviamente se i pixel aumentano in numero, diminuiscono di
dimensione.
zz
58
Codifica di immagini
59
Codifica di immagini
con toni di grigio

Le immagini in bianco e nero hanno delle sfumature, o livelli di intensità
di grigio

Per codificare immagini con sfumature:
 si fissa un insieme di livelli (toni) di grigio, cui si assegna
convenzionalmente una rappresentazione binaria
 per ogni pixel si stabilisce il livello medio di grigio e si memorizza la
codifica corrispondente a tale livello

Per memorizzare un pixel non è più sufficiente 1 bit.
 con 4 bit si possono rappresentare 24=16 livelli di grigio
 con 8 bit ne possiamo distinguere 28=256,
 con K bit ne possiamo distinguere 2K
60
Codifica di immagini a colori

Analogamente possono essere codificate le immagini a colori:
bisogna definire un insieme di sfumature di colore differenti (es. RGB = Red
Green Blue), codificate mediante una opportuna sequenza di bit

La rappresentazione di un'immagine mediante la codifica dei pixel viene
chiamata codifica bitmap
Il numero di byte richiesti dipende dalla risoluzione e dal numero di colori
che ogni pixel può assumere
Es: per distinguere 256 colori sono necessari 8 bit per la codifica di ciascun
pixel
 la codifica di un'immagine formata da 640 480 pixel richiederà 2457600
bit (307200 byte)
I monitor tipici utilizzano
 risoluzione: 640 480, 1024 768, 1280 1024
 numero di colori per pixel: da 256 fino a 16 milioni
Tecniche di compressione consentono di ridurre notevolmente lo spazio
occupato dalle immagini




61
Codifica di filmati





Un filmato non è altro che una successione di fotogrammi (frame)
accompagnata da una colonna sonora!
Immagini in movimento sono memorizzate come sequenze di
fotogrammi
In genere si tratta di sequenze compresse di immagini
 ad esempio si possono registrare solo le variazioni tra un fotogramma
e l‟altro
Esistono vari formati (comprendente il sonoro):
 mpeg (il più usato)
 avi (microsoft)
 quicktime (apple)
 mov
E‟ possibile ritoccare i singoli fotogrammi
62
Codifica di suoni




L‟onda sonora viene misurata (campionata) ad intervalli regolari
Minore è l‟intervallo di campionamento e maggiore è la qualità del
suono
CD musicali: 44000 campionamenti al secondo, 16 bit per campione.
Alcuni formati:
 .mov, .wav, .mpeg, .avi
 .midi usato per l‟elaborazione della musica al PC
63
La convergenza e i suoi strumenti
64
La convergenza e i suoi strumenti
con la convergenza al digitale:
 tendono a unificarsi i supporti (memorie di massa, rete)
 tendono a unificarsi le tecnologie di produzione
 tendono a unificarsi le tecnologie di riproduzione
 tendono a unificarsi i mercati
 i dati passano con facilità da un dispositivo all‟altro
65