Unità A2
La rappresentazione digitale
Obiettivi
Saper rappresentare i numeri in base 2
Conoscere la rappresentazione digitale del testo
Conoscere la rappresentazione digitale delle
immagini
Conoscere la rappresentazione digitale dei suoni
Conoscere la rappresentazione digitale dei filmati
Comprendere la compressione dei dati con/senza
perdita di informazione
Cifre
Cifre = caratteri con cui vengono
rappresentati i numeri.
Nel nostro sistema di numerazione, abbiamo
le dieci cifre arabe: 1, 2, 3, 4, 5, 6, 7, 8, 9 e 0
Tutti i numeri vengono composti combinando
fra loro questi caratteri.
Le cifre della numerazione romana sono
invece alcune lettere dell'alfabeto: I, V, X, L, C,
D, M.
Le rappresentazioni numeriche
il simbolo più a
destra
rappresenta due
unità,
quello al centro
cinque decine
e quello a sinistra
due centinaia.
Numerazioni posizionali
Nelle numerazioni posizionali, come ad esempio la
nostra, il valore delle cifre dipende invece dalla loro
posizione.
252 è un modo abbreviato per scrivere 2x102+5x101+2x100.
Nelle numerazioni non posizionali o additive, come
ad esempio quella romana, il valore delle singole
cifre è indipendente dalla loro posizione.
In LX e in XI il valore di X è sempre lo stesso - 10 indipendentemente dal fatto che in LX si trova in
seconda posizione mentre in XI è in prima posizione.
Numerazione decimale
Al variare della posizione della cifra varia
anche l'esponente della potenza di 10 per cui
dobbiamo moltiplicare la cifra stessa, il
nostro sistema di numerazione viene detto
decimale (o in base 10).
Altre numerazioni posizionali
In tutta la storia dell'uomo, sono state sviluppate solo tre
numerazioni posizionali.
Più di mille anni prima di Cristo, agli assiro-babilonesi
impiegarono la base 60
I Maya (Messico e America centrale) in epoca
precolombiana utilizzarono la su base 20
La nostra numerazione in base 10 è dovuta ai matematici
dell'India settentrionale che la svilupparono fra il 600 e il
700 dC. Poiché questa numerazione arrivò in Europa
attraverso i mercanti arabi, le cifre che la caratterizzano
sono state impropriamente dette arabe.
© 2007 SEI-Società Editrice
Internazionale, Apogeo
Esempi
Numeri Babilonesi e Maya
Altri sistemi di numerazione
Numerazione binaria
La base del sistema è 2; questo significa che la cifra più a
destra va moltiplicata per 20, la seconda per 21, la terza per
22 e così via.
Un numero binario ha lo svantaggio di essere composto da
molte cifre
252 decimale diventa 11111100 binario
Ha il vantaggio di utilizzare due soli simboli:
0 , 1.
L’uso di due soli simboli è molto importante nella
costruzione di macchine in grado di rappresentare e
manipolare valori numerici.
Conversione in base decimale
Per indicare la base in cui è espresso un
particolare numero si utilizza un valore in pedice
1102 = 1x22+1x21+0x20 = 610
1103 = 1x32+1x31+0x30 = 1210
1104 = 1x42+1x41+0x40 = 2010
La mancanza di un'indicazione in pedice significa che il
numero è nell'usuale notazione decimale.
Conversione da base 10 a base 2
Preso il numero in base 10, basta dividerlo ripetutamente per 2 fino a ottenere
zero. La successione dei resti (ovviamente tutti 0 o 1) è la conversione
cercata.
252:2
=
126
resto = 0
126:2
=
63
resto = 0
63:2
=
31
resto = 1
31:2
=
15
resto = 1
15:2
=
7
resto = 1
7:2
=
3
resto = 1
3:2
=
1
resto = 1
1:2
=
0
resto = 1
da cui, come abbiamo già visto, 252 = 1 1 1 1 1 1 0 02
Conversione di base
Bit, Byte e loro multipli
Il bit (binary digit) è l’unità d'informazione
elementare del sistema binario; può assumere
solo due valori: zero oppure uno.
Col termine byte si intende un insieme di 8 bit.
Multipli del byte:
kilobyte (abbreviato con Kbyte)
megabyte (abbreviato con Mbyte)
gigabyte (abbreviato con Gbyte)
terabyte (abbreviato con Tbyte).
Il bit e i suoi multipli
Capacità
Un CD-ROM può contenerne fino a 700 Mbyte.
Un DVD circa 4,7 Gbyte
Codifica dei dati
Con sequenze di bit è possibile rappresentare altri dati
oltre ai numeri interi.
Si ricorre a un codice
Per rappresentare le prime otto lettere dell’alfabeto
possiamo ad esempio associare:
la
la
la
la
la
la
la
la
A
B
C
D
E
F
G
H
con
con
con
con
con
con
con
con
000;
001;
010;
011;
100;
101;
110;
111.
Quante informazioni?
Con un solo bit sono codificabili solo due
elementi (associando il primo a 0 e il secondo a 1)
Con due bit possono essere codificati quattro
elementi ponendoli in corrispondenza
rispettivamente con 00, 01, 10 e 11.
Più in generale, con n bit è possibile
codificare al massimo 2n caratteri.
Un esempio: le carte da
gioco
Consideriamo un mazzo di carte da gioco
composto da 52 carte: per ognuno dei quattro
semi (cuori, quadri, fiori, picche) abbiamo 13
carte (dall’asso al 10, fante, donna, re).
Quanti bit sono necessari per rappresentare
in modo univoco le 52 carte?
La risposta è 6. Infatti con 6 bit si possono
rappresentare 26 cioè 64 valori differenti.
Le carte da gioco:
codifica
Con 2 bit rappresentiamo il seme secondo la seguente codifica:
00 per indicare cuori;
01 per indicare quadri;
10 per indicare fiori;
11 per indicare picche;
con quattro bit rappresentiamo il valore della carta secondo la
seguente codifica:
0001 per indicare l'asso;
0010 per indicare il due;
…
1010 per indicare il dieci;
1011 per indicare il fante;
1100 per indicare la donna;
1101 per indicare il re.
Gli scacchi
Nel gioco degli scacchi si utilizzano 6 pezzi differenti:
pedone, cavallo, alfiere, torre, regina e re; i pezzi
possono essere bianchi o neri. Le informazioni da
rappresentare sono dunque 12
23 = 8 è più piccolo di 12 quindi 3 bit non sono
sufficienti
24 = 16 è maggiore o uguale a 12 quindi quattro è il
minimo numero di bit necessario per rappresentare
le 12 differenti informazioni relative ai pezzi degli
scacchi
Gli scacchi: un esempio di codifica
Utilizziamo il primo bit per rappresentare il colore:
0 per indicare il bianco;
1 per indicare il nero;
Tre bit per il tipo di pezzo:
000 pedone;
001 cavallo;
010 alfiere;
011 torre;
100 regina;
101 re.
Il cavallo nero verrà quindi rappresentato dai bit 1001
mentre i bit 0100 rappresenteranno la regina bianca.
Il testo
Il testo è una sequenza di caratteri
Se riusciamo a rappresentare in forma
numerica ogni differente carattere potremo
rappresentare in forma digitale un qualunque
testo.
Caratteri in formato
digitale
Si associa a ogni carattere un numero
Si crea così una tabella di corrispondenza.
Il codice ASCII standard (American Standard Code for
Information Interchange), utilizza 7 bit per
rappresentare 128 differenti caratteri: le lettere
maiuscole e minuscole, i segni di punteggiatura, lo
spazio, le cifre decimali
I codici estesi
L’ASCII è alla base dei codici estesi che impiegano 8 o
16 bit per rappresentare rispettivamente 256 e 65.536
caratteri differenti.
In questo modo è possibile codificare e quindi
utilizzare molti alfabeti differenti come quello arabo,
ebraico e cirillico.
Testo: occupazione di memoria
Per esempio, con un codice a 8 bit possiamo
rappresentare un testo in forma digitale
utilizzando tanti byte quanti sono i caratteri
che lo compongono:
un carattere  un byte
L’intero testo della “Divina Commedia” può
essere contenuto in un singolo floppy disk
In un CD ROM possiamo memorizzare
centinaia di testi letterari.
Le immagini digitali
Le immagini: palette
La prima operazione è quella di definire una
rappresentazione digitale per ogni colore.
Stabilito il numero di bit da utilizzare si
definisce l’insieme dei colori (tavolozza,
palette) che che saranno utilizzati per
rappresentare l’immagine.
Una palette a 16 colori
Le immagini: pixel
Suddividiamo l’immagine in tanti piccoli rettangoli
(gli elementi di base dell’immagine digitale)
Questi rettangoli vengono chiamati pixel
(picture element)
Per ogni pixel individuiamo un colore dominante.
L’immagine diventa quindi una sorta di mosaico: i tasselli
del mosaico sono i pixel
La tavolozza ci fornisce la sequenza di bit associata ad ogni
pixel
L’insieme di tutte queste sequenze è la rappresentazione
digitale dell’immagine.
Un esempio di immagine
Le immagini: approssimazione
Aumentare il numero di pixel (e ridurre quindi la
loro dimensione) migliora la definizione
dell’immagine
I monitor dei computer usano lo stresso
procedimento per visualizzare le immagini.
La dimensione ridotta dei pixel e il numero
elevato di colori fanno apparire al nostro occhio
le immagini come se fossero formate da linee
continue e infinite sfumature di colore.
© 2007 SEI-Società Editrice
Internazionale, Apogeo
Le immagini: risoluzione
Si definisce risoluzione dell’immagine
il numero dei pixel (normalmente misurato in righe e
colonne)
e la profondità di colore (la dimensione della palette).
I monitor dei personal computer usano
normalmente risoluzioni che partono dagli
800 x 600 pixel e 65 536 (216) colori, fino a
superare i 1600 x 1200 pixel con palette a 24
bit.
Un esempio
Le immagini:
occupazione di memoria
Il numero di bit necessario per rappresentare
un’immagine è elevato
La risoluzione di 800 x 600 pixel a 16 bit ha le
seguenti carattesristiche:
risulta “scomposta” in 800 x 600 = 480.000 pixel;
per ognuno di questi si rappresenta il colore
usando 16 bit, cioè 2 byte, per un totale di 960.000
byte.
Circa i 2/3 di un floppy disk per una sola immagine!
Le immagini: compressione
Per limitare l’occupazione di memoria si
ricorre a rappresentazioni compresse
Alcune tecniche di compressione
mantengono inalterata la qualità
dell’immagine, eliminando soltanto le
informazioni ridondanti
Altre riducono il numero di byte complessivi
ma comportano anche perdita di qualità.
Le immagini:
i formati
Il formato delle immagini identifica il tipo di
rappresentazione digitale di queste.
Alcuni dei formati più diffusi sono:
bmp (Bitmapped) per immagini non compresse;
gif (Graphics Interchange Format) per immagini
con un numero limitato di colori;
jpeg (Joint Photographic Experts Group) per
immagini con numero elevato di colori.
Le immagini vettoriali
Per immagini di tipo geometrico
Per immagini riconducibili a insiemi di forme
determinate (triangoli, rettangoli, cerchi …) è
possibile non rappresentare l’immagine
stessa ma il procedimento per costruirla.
… Tracciare la circonferenza di centro in (70,50),
raggio 35, colore blu, riempimento nullo;
Tracciare il rettangolo di vertici opposti in (80,70)
e in (120,100), colore rosso, riempimento giallo.
Esempio di immagine vettoriale
Formato vettoriale
La rappresentazione vettoriale ha il vantaggio di
diminuire enormemente la dimensione dell’immagine
facilitare un ridimensionamento
L’ovvio svantaggio è che questa rappresentazione
non può essere utilizzata per immagini pittoriche.
La codifica dei suoni:premessa
Non approfondiremo i dettagli tecnici legati ai
procedimenti di digitalizzazione dei suoni: ci
interessa solo mostrare le linee guida del
procedimento; il linguaggio utilizzato non è quindi
tecnico e può risultare “impreciso”.
Onda sonora
Ogni suono è associato a un'onda sonora che può venire
rappresentata da un grafo
Questa onda ha un andamento continuo che cercheremo di
digitalizzare.
Ordinate: intensità del suono che varia nel tempo
Ascisse: tempo
Nell’esempio possiamo notare come all’istante T1 l’intensità
sonora sia superiore di quella all’istante T2.
Una misura (campionamento) assocerà in un preciso momento
un valore numerico all’intensità sonora.
Digitalizzazione del suono
1.
definire la scala dei valori per l’intensità sonora. La
scala definisce il livello di accuratezza della
rappresentazione
(in genere si usano dagli 8 ai 32 bit per rappresentare i differenti
livelli sonori).
2.
definire la frequenza di campionamento, l’intervallo
cioè che intercorre fra due misurazioni.
La frequenza di campionamento si misura in Hertz (cicli al
secondo)
i valori che vengono normalmente usati vanno dagli 8 ai 48
khertz (da 8.000 a più di 48.000 misurazioni al secondo)
Analogia immagini-suoni
Possiamo stabilire un’analogia fra il procedimento di
digitalizzazione delle immagini e quello dei suoni:
Scala dei valori sonori  Tavolozza colori
Frequenza di campionamento  Numero pixel
La scala dell’intensità sonora (il numero di “suoni
differenti”) e la frequenza di campionamento
determinano la qualità del suono
Suono: qualità - dimensione
Come nel caso delle immagini la
rappresentazione digitale dei suoni comporta
un elevato numero di byte.
Per 60 secondi di audio.
Con rappresentazione a 8 bit dell’intensità sonora
e un campionamento a 8000 Hertz sono necessari
circa 660 000 byte.
Con rappresentazione a 16 bit dell’intensità
sonora e un campionamento a 44 000 Hertz i byte
sono necessari circa 5 000 000 byte.
MP3
Come nel caso delle immagini vengono usate
rappresentazioni compresse
La più nota è l’MP3 (Moving Picture Export Group
Layer 3).
l’orecchio umano è in grado di percepire solo suoni che
stanno all’interno di un certo intervallo di frequenze.
I suoni a frequenze superiori (ultrasuoni) o inferiori
(infrasuoni) vengono eliminati dalla rappresentazione;
questo, associato ad altri procedimenti di compressione
permette di ridurre fino a oltre 12 volte la quantità di dati
digitali nella rappresentazione del suono senza un’apparente
perdita di qualità.
MIDI
Analogamente con quanto visto per le immagini
vettoriali, nel caso di suoni prodotti da strumenti
musicali, è possibile rappresentare, al posto del
suono, la sequenza di azioni necessarie per
generarlo.
Si parla in questo caso di suono sintetizzato
Un esempio di questo tipo sono i suoni MIDI
(Musical Instrument Digital Interface) nei quali
vengono registrati gli eventi che generano un
certo suono.
Filmati
Per comprendere il procedimento di
rappresentazione digitale di un filmato
prendiamo come modello una pellicola
cinematografica:
una sequenza di immagini statiche (fotogrammi)
una o più bande per il sonoro.
L'occhio umano non riesce a percepire come
distinte due immagini separate da meno di un
trentesimo di secondo.
La codifica dei filmati
Ogni singolo fotogramma viene digitalizzato
utilizzando i procedimenti visti per la
rappresentazione delle immagini
La colonna sonora subisce lo stesso processo di
conversione che abbiamo incontrato trattando i
suoni digitali.
Filmati: occupazione
È facile immaginare il problema legato all’occupazione di
memoria
Vengono usati vari procedimenti di compressione che
riducono la dimensione di ogni singola immagine e del
suono
Analizzando i singoli fotogrammi di un filmato si può
inoltre notare che, spesso, solo una parte dell’immagine
varia da un fotogramma al successivo
Rappresentando interamente solo il fotogramma di
partenza e poi solo la parte che in ogni fotogramma è
differente dal precedente si ottiene un notevole risparmio
di memoria.
Filmati: i formati
Lo standard più diffuso è l’MPEG con vari livelli di
codifica; ricordiamo l’MPEG-2 utilizzato come
standard per la TV digitale e il più compresso MPEG-4
per applicazioni multimediali.
Vari fattori determinano la dimensione della
rappresentazione digitale di un filmato:
la lunghezza della sequenza;
la dimensione in pixel e la risoluzione utilizzata per
rappresentare i fotogrammi;
il numero di colori utilizzati;
il numero di fotogrammi al secondo;
la qualità del sonoro;
Un film digitale
Per avere un’idea dell’occupazione del video
digitale prendiamo per esempio una pellicola
cinematografica:
un normale film in DVD è codificato in MPEG-2 e
occupa circa 5 Gbyte
lo stesso film in formato DivX (MPEG-4) occupa
circa 1 Gbyte
La compressione dei dati
I motivi della compressione
Necessità di contenere la dimensione e quindi il costo
della memoria
Necessità di limitare i tempi di trasferimento dei dati
attraverso Internet, tempi che sono ovviamente
proporzionali alla dimensione dei dati
Tecniche di compressione
Lossless (senza perdita d’informazione)
Trasparent (con perdita quasi impercettibile d’informazione)
Lossy (con perdita percettibile d’informazione)
L’obiettivo comune è quello di eliminare dalle
rappresentazioni tutti i dati ridondanti cercando di
mantenere inalterata la qualità dell’informazione
rappresentata.
I metodi lossless sono reversibili, permettono cioè di
“tornare” alla rappresentazione originale, negli altri casi
una quantità più o meno rilevante di informazioni viene
irrimediabilmente persa.
Tecniche di compressione: esempi
Lo standard di compressione Zip utilizzato per
comprimere informazioni di qualunque tipo (testi,
immagini, programmi è lossless.
Nel formato JPEG (per le immagini) è possibile
definire il fattore di compressione che comporta, a
vantaggio di una maggiore o minore diminuzione di
dati rappresentati, una perdita più o meno
significativa di informazione.
Compressione distruttiva: il metodo non è reversibile e
comporta sempre una perdita irrimediabile di informazione.
Le modifiche apportate all'immagine spesso non sono
percepite dall'occhio umano.
Sintesi (1)
Nella rappresentazione binaria il digit viene definito bit
(bynary digit).
I due valori che può assumere un bit sono 0 e 1:
con una cifra binaria si possono quindi rappresentare 2 valori
distinti, con 2 cifre 4 e, in generale, con n cifre 2n valori distinti.
8 bit formano un byte;
multipli dei byte: kilobyte (Kb), megabyte (Mb) e gigabyte (Gb).
Utilizzando tabelle di conversione, come quella stabilita
nel codice ASCII, si possono rappresentare in forma
digitale i caratteri e quindi tutti i tipi di testo scritto.
Sintesi (2)
Suddividendo un’immagine in piccoli rettangoli (pixel) e
stabilendo una tavolozza di colori (palette) è possibile
rappresentare un’intera immagine mediante una sequenza
di bit
La rappresentazione digitale di un suono consiste nello
stabilire un insieme discreto di intensità sonore e una
frequenza di campionamento.
Un filmato è visto come l’insieme di una sequenza di
immagini statiche (fotogrammi) e una colonna sonora
I procedimenti di compressione sono classificati in tre
categorie: lossless, trasparent e lossy a seconda della
quantità di informazione che viene irrimediabilmente persa
nella trasformazione.
Scarica

Informatica avanzata