1 Codifica e Rappresentazione dellinformazione Cosa vedremo : Rappresentazione binaria Codifica dei...

51
1 Codifica e Rappresentazione dell’informazione • Cosa vedremo : Rappresentazione binaria Codifica dei numeri Codifica dei caratteri Codifica delle immagini Compressione dei dati Codifica dei suoni

Transcript of 1 Codifica e Rappresentazione dellinformazione Cosa vedremo : Rappresentazione binaria Codifica dei...

Page 1: 1 Codifica e Rappresentazione dellinformazione Cosa vedremo : Rappresentazione binaria Codifica dei numeri Codifica dei caratteri Codifica delle immagini.

1

Codifica e Rappresentazione dell’informazione

• Cosa vedremo :Rappresentazione binaria

Codifica dei numeri

Codifica dei caratteri

Codifica delle immagini

Compressione dei dati

Codifica dei suoni

Page 2: 1 Codifica e Rappresentazione dellinformazione Cosa vedremo : Rappresentazione binaria Codifica dei numeri Codifica dei caratteri Codifica delle immagini.

2

Come vengono rappresentati dati e programmi ? ..

• L’architettura di Von Neumann

Memoria(RAM,dischi, etc)

Mantiene Dati e Programmi

Processore(CPU)

E’ un esecutore capacedi interpretare i singoli passirichiesti dai programmi (istruzioni elementari)

Sottosistemadi Interfaccia

Permette di comunicare dati e programmi alla macchina e di ottenere i risultati (tastiera, micr., stampante, schermo, )

Page 3: 1 Codifica e Rappresentazione dellinformazione Cosa vedremo : Rappresentazione binaria Codifica dei numeri Codifica dei caratteri Codifica delle immagini.

3

Rappresentazione binaria

• Tutta l’informazione interna ad un computer è codificata con sequenze di due soli simboli : 0 e 1– è facile realizzare dispositivi elettronici che

discriminano fra due stati, molto meno se gli stati sono tanti

• L’unità elementare di informazione si chiama bit da‘binary digit’

Page 4: 1 Codifica e Rappresentazione dellinformazione Cosa vedremo : Rappresentazione binaria Codifica dei numeri Codifica dei caratteri Codifica delle immagini.

4

Rappresentazione binaria (2)

• Vedremo prima come rappresentare i numeri sequenze di 0 e 1

• Poi discuteremo la rappresentazione di insiemi di oggetti finiti (caratteri, giorni della settimana, operazioni elementari etc…)

• Infine discuteremo la rappresentazione di insiemi infiniti (es. i naturali), e continui (i reali, immagini, suoni)

Page 5: 1 Codifica e Rappresentazione dellinformazione Cosa vedremo : Rappresentazione binaria Codifica dei numeri Codifica dei caratteri Codifica delle immagini.

5

Notazione posizionale in base 10 • Un numero (es. 5) può essere rappresentato in molti modi :

– cinque, five, 5, V,

• Rappresentazioni diverse hanno proprietà diverse – moltiplicare due numeri in notazione romana è molto più difficile che moltiplicare due numeri in notazione decimale ….

• Noi siamo abituati a lavorare con numeri rappresentati in notazione posizionale in base 10

Page 6: 1 Codifica e Rappresentazione dellinformazione Cosa vedremo : Rappresentazione binaria Codifica dei numeri Codifica dei caratteri Codifica delle immagini.

6

Notazione posizionale in base 10 (2) • La rappresentazione di un numero intero in base 10 è una sequenza di cifre scelte fra 0 1 2 3 4 5 6 7 8 9:

– es: 23, 118, 4

• Il valore di una rappresentazione cN…c0 è dato da

cN * 10N + cN-1 * 10N-1 ….+ c1 * 101 + c0 * 100

esempi :

– 23 = 2*101 + 3 * 100 = 20 + 3

– 118 = 1*102 + 1*101 + 8 * 100 = 100 + 10 + 8

Page 7: 1 Codifica e Rappresentazione dellinformazione Cosa vedremo : Rappresentazione binaria Codifica dei numeri Codifica dei caratteri Codifica delle immagini.

7

Notazione posizionale in base 10 (3) Vediamo alcune proprietà di questa notazione :

• Il massimo numero rappresentabile con N cifre è 99….9 (N volte 9, la cifra che vale di più), pari a 10N-1– es: su tre cifre il massimo numero rappresentabile è 999 pari a 103-1 =1000-1

Page 8: 1 Codifica e Rappresentazione dellinformazione Cosa vedremo : Rappresentazione binaria Codifica dei numeri Codifica dei caratteri Codifica delle immagini.

8

Notazione posizionale in base 10 (4) Vediamo alcune proprietà di questa notazione (cont.):• Quindi se voglio rappresentare K diverse configurazioni (cioè 0 1 2 …K-1) mi servono almeno almeno x cifre dove 10x

è la più piccola potenza di 10 che supera K– es : se voglio 25 configurazioni diverse mi servono almeno 2 cifre perché 102=100 è la più piccola potenza di 10 maggiore di 25

Page 9: 1 Codifica e Rappresentazione dellinformazione Cosa vedremo : Rappresentazione binaria Codifica dei numeri Codifica dei caratteri Codifica delle immagini.

9

Notazione posizionale in base 2 • La rappresentazione di un numero intero in base 2 è una sequenza di cifre scelte fra 0 1 :

– es: 10, 110, 1

• Il valore di una rappresentazione cN…c0 è dato da

cN * 2N + cN-1 * 2N-1 ….+ c1 * 21 + c0 * 20

esempi :– 10 = 1*21 + 0 *20 = 2

– 110 = 1*22 + 1*21 + 0 * 20 = 4 + 2 + 0 = 6

– 1 = 1 *20 = 1

Page 10: 1 Codifica e Rappresentazione dellinformazione Cosa vedremo : Rappresentazione binaria Codifica dei numeri Codifica dei caratteri Codifica delle immagini.

10

Notazione posizionale in base 2 (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

Page 11: 1 Codifica e Rappresentazione dellinformazione Cosa vedremo : Rappresentazione binaria Codifica dei numeri Codifica dei caratteri Codifica delle immagini.

11

Notazione posizionale in base 2 (3) Per la base due valgono proprietà analoghe a quelle viste per la base 10 (cont.):• 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

Page 12: 1 Codifica e Rappresentazione dellinformazione Cosa vedremo : Rappresentazione binaria Codifica dei numeri Codifica dei caratteri Codifica delle immagini.

12

Conversione da base 10 a base 2Dato un numero X si cerca cN…c0 sua rappresentazione in base 2

• Conversione per divisione :– si divide ripetutamente X per 2

– il resto ottenuto nella divisione i-esima è la i-esima cifra (ci) della rappresentazione binaria

Page 13: 1 Codifica e Rappresentazione dellinformazione Cosa vedremo : Rappresentazione binaria Codifica dei numeri Codifica dei caratteri Codifica delle immagini.

13

Conversione da base 10 a base 2 (2)

Come si converte X nella sua rappresentazione in base 2 cN…c0 usando il metodo della divisione

• Es : convertiamo il numero 13– 13 / 2 da quoziente 6 e resto 1 (c0)

– 6 / 2 da quoziente 3 e resto 0 (c1)

– 3 / 2 da quoziente 1 e resto 1 (c2)

– 1 / 2 da quoziente 0 e resto 1 (c3)

• La rappresentazione di 13 è 1101

Page 14: 1 Codifica e Rappresentazione dellinformazione Cosa vedremo : Rappresentazione binaria Codifica dei numeri Codifica dei caratteri Codifica delle immagini.

14

Le basi 8 e 16 (ottale ed esadecimale)• Vengono spesso usate per dare una rappresentazione compatta della codifica binaria• Ottale, cifre 0 1 2 3 4 5 6 7

– 8 = 23 – vale la seguente proprietà

011011111111010100

011 011 111 111 010 100

3 3 7 7 2 4

337724

Page 15: 1 Codifica e Rappresentazione dellinformazione Cosa vedremo : Rappresentazione binaria Codifica dei numeri Codifica dei caratteri Codifica delle immagini.

15

Le basi 8 e 16 (ottale ed esadecimale)• esadecimale cifre 0 1 2 3 4 5 6 7 8 9 A B C D E F

– 16 = 24 – vale la seguente proprietà

011011111111010100

01 1011 1111 1101 0100

1 B F D 4

1BFD4– usato per rappresentare indirizzi e contenuto delle celle di memoria (32 bit!!!)

Page 16: 1 Codifica e Rappresentazione dellinformazione Cosa vedremo : Rappresentazione binaria Codifica dei numeri Codifica dei caratteri Codifica delle immagini.

16

La 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

Page 17: 1 Codifica e Rappresentazione dellinformazione Cosa vedremo : Rappresentazione binaria Codifica dei numeri Codifica dei caratteri Codifica delle immagini.

17

La rappresentazione dei numeri all’interno di un computer (2)

• Alcuni termini utili:– byte : una sequenza di 8 bit– word (parola) : 2 o 4 byte (dipende dalla macchina) unità minima che può essere fisicamente letta o scritta nella memoria– abbreviazioni kappa, mega, giga :

• K = 210, M = 220 , G = 230

• Tipicamente gli interi positivi si rappresentano usando 2 o 4 byte

Page 18: 1 Codifica e Rappresentazione dellinformazione Cosa vedremo : Rappresentazione binaria Codifica dei numeri Codifica dei caratteri Codifica delle immagini.

18

La rappresentazione dei numeri all’interno di un computer (3)

• Alcuni punti importanti: – se uso 4 byte (32 bit) posso rappresentare solo i numeri positivi da 0 a 2 32-1, 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’, è un fenomeno chiamato overflow

Page 19: 1 Codifica e Rappresentazione dellinformazione Cosa vedremo : Rappresentazione binaria Codifica dei numeri Codifica dei caratteri Codifica delle immagini.

19

La rappresentazione dei numeri all’interno di un computer (4)

• Interi positivi e negativi :– es. il tipo int in C usa di solito 4 byte– ci sono diverse convenzioni di rappresentazione

• es: modulo e segno in cui il primo bit viene riservato al segno (1 negativo, 0 positivo) e gli altri 31 al modulo• quella usata in realtà è la rappresentazione in complemento a 2 (in cui non ci addentriamo…)

– rimane il problema dell’overflow

Page 20: 1 Codifica e Rappresentazione dellinformazione Cosa vedremo : Rappresentazione binaria Codifica dei numeri Codifica dei caratteri Codifica delle immagini.

20

La rappresentazione dei numeri all’interno di un computer (5)

• Razionali – numero finito di cifre periodiche dopo la virgola (ad esempio 3.12 oppure 3.453– rappresentazione solitamente su 4/8 byte– rappresentazione in virgola fissa : riservo X bit per la parte frazionaria

– es : con 3 bit per la parte intera e 2 per quella frazionaria 011.11, 101.01

Parte intera Parte frazionaria

Page 21: 1 Codifica e Rappresentazione dellinformazione Cosa vedremo : Rappresentazione binaria Codifica dei numeri Codifica dei caratteri Codifica delle immagini.

21

La rappresentazione dei numeri all’interno di un computer (6)

• Come si converte in base 10 una rappresentazione in virgola fissa – es :

101.01 = 1* 22 + 0 * 21 + 1 * 20 + 0 * 2-1 + 1 * 2-2 =

= 4 + 1+ 0.25 = 5.25

dove 2-1 = 1/2 = 0.5, 2-2 = 1/22 = 0.25

e in generale 2-n = 1/2n

Page 22: 1 Codifica e Rappresentazione dellinformazione Cosa vedremo : Rappresentazione binaria Codifica dei numeri Codifica dei caratteri Codifica delle immagini.

22

La rappresentazione dei numeri all’interno di un computer (7)

• Problemi della rappresentazione in virgola fissa – overflow

– undeflow quando si scende al di sotto del minimo numero rappresentabile• es. vediamo in base 10, con 2 cifre riservate alla parte frazionaria 0.01 / 2 = 0.005 non rappresentabile usando solo due cifre

Page 23: 1 Codifica e Rappresentazione dellinformazione Cosa vedremo : Rappresentazione binaria Codifica dei numeri Codifica dei caratteri Codifica delle immagini.

23

La rappresentazione dei numeri all’interno di un computer (8)

• Problemi della rappresentazione in virgola fissa (cont.)– spreco di bit per memorizzare molti ‘0’ quando lavoro con numeri molto piccoli o molto grandi

• es. vediamo in base 10, con 5 cifre per la parte intera e 2 cifre riservate alla parte frazionaria

10000.00 oppure 00000.02

– i bit vengono usati più efficientemente con la notazione esponenziale o floating point (virgola mobile)

Page 24: 1 Codifica e Rappresentazione dellinformazione Cosa vedremo : Rappresentazione binaria Codifica dei numeri Codifica dei caratteri Codifica delle immagini.

24

La rappresentazione dei numeri all’interno di un computer (9)

• Rappresentazione in virgola mobile– idea : quando lavoro con numeri molto piccoli uso tutti i bit disponibili per rappresentare le cifre dopo la virgola e quando lavoro con numeri molto grandi le uso

tutte per rappresentare le cifre in posizioni elevate

– questo permette di rappresentare numeri piccoli con intervalli minori fra loro rispetto ai numeri grandi

– questo riduce gli errori nel calcolo a parità di bit utilizzati

Page 25: 1 Codifica e Rappresentazione dellinformazione Cosa vedremo : Rappresentazione binaria Codifica dei numeri Codifica dei caratteri Codifica delle immagini.

25

La rappresentazione dei numeri all’interno di un computer (10)

• Rappresentazione in virgola mobile (cont.)0

Numeri rappresentabili in virgola fissa

0

Numeri rappresentabili in virgola mobile

Page 26: 1 Codifica e Rappresentazione dellinformazione Cosa vedremo : Rappresentazione binaria Codifica dei numeri Codifica dei caratteri Codifica delle immagini.

26

La rappresentazione dei numeri all’interno di un computer (11)

• Rappresentazione in virgola mobile (cont.)– ogni numero N è rappresentato da una coppia

(mantissa M, esponente E) con il seguente significato

N = M * 2E

– esempi: 1. in base 10, con 3 cifre per la mantissa e 2 cifre per l’esponente riesco a rappresentare

349 000 000 000 = 3.49 * 1011

con la coppia (3.49,11) perché M = 3.49 ed E = 11

Page 27: 1 Codifica e Rappresentazione dellinformazione Cosa vedremo : Rappresentazione binaria Codifica dei numeri Codifica dei caratteri Codifica delle immagini.

27

La rappresentazione dei numeri all’interno di un computer (12)

• Rappresentazione in virgola mobile (cont.)– esempi:

2. in base 10, con 3 cifre per la mantissa e 2 per l’esponente riesco a rappresentare

0.000 000 002 = 2.0 * 10-9

con la coppia (2.0,-9) perché M = 2.0 ed E = -9

– sia 0.000 000 002 che 349 000 000 000 non sono rappresentabili in virgola fissa usando solo 5 cifre decimali !!!

Page 28: 1 Codifica e Rappresentazione dellinformazione Cosa vedremo : Rappresentazione binaria Codifica dei numeri Codifica dei caratteri Codifica delle immagini.

28

Rappresentazione di un insieme finito di oggetti

• 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 in modo del tutto arbitrario….

Page 29: 1 Codifica e Rappresentazione dellinformazione Cosa vedremo : Rappresentazione binaria Codifica dei numeri Codifica dei caratteri Codifica delle immagini.

29

Rappresentazione di un insieme finito di oggetti (2)

Lunedì 0100010001Martedì 001Mercoledì 1100000Giovedì 1Venerdì 101010Sabato 111111Domenica 000001

• Una possibile codifica binaria per i giorni della settimana

Page 30: 1 Codifica e Rappresentazione dellinformazione Cosa vedremo : Rappresentazione binaria Codifica dei numeri Codifica dei caratteri Codifica delle immagini.

30

Rappresentazione di un insieme finito di oggetti (3)

• Problema : la tabellina di corrispondenza fra codifiche tutte di lunghezza diversa– spreco di memoria– devo capire come interpretare una sequenza di

codifiche– 110000011 = Me Gio Gio– 110000011 = Gio Gio Do Gio

• Di solito si usa un numero di bit uguale per tutti : il minimo indispensabile

Page 31: 1 Codifica e Rappresentazione dellinformazione Cosa vedremo : Rappresentazione binaria Codifica dei numeri Codifica dei caratteri Codifica delle immagini.

31

Rappresentazione di un insieme finito di oggetti (4)

• Per rappresentare 7 oggetti diversi servono almeno 3 bit (minima potenza di due che supera 7 è 8= 23) quindi :000 Lunedì 110 Domenica

001 Martedì 111 non ammesso

010 Mercoledì

011 Giovedì

100 Venerdì

101 Sabato

Page 32: 1 Codifica e Rappresentazione dellinformazione Cosa vedremo : Rappresentazione binaria Codifica dei numeri Codifica dei caratteri Codifica delle immagini.

32

Rappresentazione di caratteri e stringhe

• I caratteri sono un insieme finito di oggetti e seguono la strategia vista per i giorni della settimana

• Perché due diversi calcolatori si possano parlare correttamente è necessario che usino lo stesso codice

Page 33: 1 Codifica e Rappresentazione dellinformazione Cosa vedremo : Rappresentazione binaria Codifica dei numeri Codifica dei caratteri Codifica delle immagini.

33

Rappresentazione di caratteri e stringhe (2)

• Codifiche di uso comune : – il codice ASCII (American Standard code For Information Interchange) su 7 o 8 bit– il codice UNICODE su 16 bit (più recente, permette di rappresentare anche alfabeti

diversi e simboli per la scrittura di lingua orientali)

• Le stringhe sono generalmente sequenze di caratteri terminate in modo particolare

Page 34: 1 Codifica e Rappresentazione dellinformazione Cosa vedremo : Rappresentazione binaria Codifica dei numeri Codifica dei caratteri Codifica delle immagini.

34

Rappresentazione di immagini

• Le immagini sono un ‘continuo’ e non sino formate da sequenze di oggetti ben definiti come i numeri e le stringhe

• Bisogna quindi prima ‘discretizzarle’ ovvero trasformarle in un insieme di parti distinte che possono essere codificate separatamente con sequenze di bit

• Consideriamo prima immagini fisse (foto etc …)

Page 35: 1 Codifica e Rappresentazione dellinformazione Cosa vedremo : Rappresentazione binaria Codifica dei numeri Codifica dei caratteri Codifica delle immagini.

35

Rappresentazione di immagini (2)

• Immagini ‘bitmap’ : 1. l’immagina viene scomposta in una griglia di

elementi detti pixel (da picture element)

000000000000000000000000000000000011111111000000000000000010000010000000000000000010000100000000000000000010001000000000000000000010010000000000000000000010100000000000000000000011000000000000000000000010000000000000

immaginecodifica

Page 36: 1 Codifica e Rappresentazione dellinformazione Cosa vedremo : Rappresentazione binaria Codifica dei numeri Codifica dei caratteri Codifica delle immagini.

36

Rappresentazione di immagini (3)

• Immagini ‘bitmap’ : 2. Ogni pixel è rappresentato da uno o più bit

000000000000000000000000000000000011111111000000000000000010000010000000000000000010000100000000000000000010001000000000000000000010010000000000000000000010100000000000000000000011000000000000000000000010000000000000

Rappresentazionedi un pixel

Page 37: 1 Codifica e Rappresentazione dellinformazione Cosa vedremo : Rappresentazione binaria Codifica dei numeri Codifica dei caratteri Codifica delle immagini.

37

Rappresentazione di immagini (4)

• Rappresentazioni dei pixel : – la rappresentazione in ‘toni di grigio’ : un byte per pixel, con 256 gradazioni di grigio per ogni punto

(immagini bianco e nero), o più byte per pixel, per avere più gradazioni possibili– rappresentazione a colori RGB (red, green,blu) : comunemente 3 byte per pixel che definiscono

l’intensità di ciascun colore base. In questo modo ho circa 16 milioni di colori diversi definibili

Page 38: 1 Codifica e Rappresentazione dellinformazione Cosa vedremo : Rappresentazione binaria Codifica dei numeri Codifica dei caratteri Codifica delle immagini.

38

Rappresentazione di immagini (5)

• Problema : – la rappresentazione accurata di una immagine dipende

• dal numero di pixel (definizione)

• dalla codifica del pixel

– … e richiede generalmente molta memoria, ad esempio :tipo defin numero colori num. Byte

imm. televisiva 720x625 256 440 KB

SVGA 1024x768 65536 1.5 MB

foto 15000x10000 16milioni 430 MB

Page 39: 1 Codifica e Rappresentazione dellinformazione Cosa vedremo : Rappresentazione binaria Codifica dei numeri Codifica dei caratteri Codifica delle immagini.

39

Rappresentazione di immagini (6)• 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)

Page 40: 1 Codifica e Rappresentazione dellinformazione Cosa vedremo : Rappresentazione binaria Codifica dei numeri Codifica dei caratteri Codifica delle immagini.

40

Compressione di dati• Algoritmi lossless (senza perdita di informazione) : operano un cambiamento di codifica dei dati che permette di diminuire il

numero di bit necessari alla rappresentazione– esempio : sequenza di 1 milione di caratteri, A=00, B=01, C=10, D=11, totale 2 milioni di bit di codifica – se A compare il 90% delle volte posso ‘comprimere’ la codifica nel seguente modo A=0, B=100, C=110, D=111 ottenendo una lunghezza di :

900 000 * 1 + 100 000 * 3 = 1 200 000 bit

Page 41: 1 Codifica e Rappresentazione dellinformazione Cosa vedremo : Rappresentazione binaria Codifica dei numeri Codifica dei caratteri Codifica delle immagini.

41

Compressione di dati (2)• Algoritmi lossy (che perdono informazione)

– generalmente sono specifici di un certo campo e sfruttano le caratteristiche degli oggetti da rappresentare per ‘buttare via’ informazione poco importanti

– gli algoritmi di compressione usati nei formati GIF e JPEG per immagini fisse sfruttano la caratteristica dell’occhio umano di essere poco sensibile a lievi cambiamenti di colore in punti contigui, e quindi eliminano questi lievi cambiamenti appiattendo il colore dell’immagine

– generalmente è possibile specificare quanto siamo disposti a perdere attraverso alcuni parametri

Page 42: 1 Codifica e Rappresentazione dellinformazione Cosa vedremo : Rappresentazione binaria Codifica dei numeri Codifica dei caratteri Codifica delle immagini.

42

Rappresentazione di immagini (7)• Immagini in movimento (video …)

– il movimento è rappresentato già in modo discreto nei media : 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)

Page 43: 1 Codifica e Rappresentazione dellinformazione Cosa vedremo : Rappresentazione binaria Codifica dei numeri Codifica dei caratteri Codifica delle immagini.

43

Rappresentazione di suoni• Caratteristiche dell’audio (e dei segnali analogici)

tempo

Page 44: 1 Codifica e Rappresentazione dellinformazione Cosa vedremo : Rappresentazione binaria Codifica dei numeri Codifica dei caratteri Codifica delle immagini.

44

Rappresentazione di suoni (2)• Campionamento dell’audio ad intervalli di tempo

fissi

tempo

Page 45: 1 Codifica e Rappresentazione dellinformazione Cosa vedremo : Rappresentazione binaria Codifica dei numeri Codifica dei caratteri Codifica delle immagini.

45

Rappresentazione di suoni (3)• Campionamento dell’audio ad intervalli di tempo

fissi

tempo

Ogni campione vienerappresentato con un numero finito di bit (quantizzazione)

Page 46: 1 Codifica e Rappresentazione dellinformazione Cosa vedremo : Rappresentazione binaria Codifica dei numeri Codifica dei caratteri Codifica delle immagini.

46

Rappresentazione di suoni (4)• L’accuratezza della ricostruzione dipende :

– da quanto sono piccoli gli intervalli di campionamento– da quanti bit uso per descrivere il suono in ogni campione nella fase di quantizzazione– al solito … maggiore accuratezza significa maggior quantità di memoria occupata!

• Anche per i suoni si possono utilizzare tecniche di compressione per migliorare l’occupazione di memoria della sequenza di campioni

Page 47: 1 Codifica e Rappresentazione dellinformazione Cosa vedremo : Rappresentazione binaria Codifica dei numeri Codifica dei caratteri Codifica delle immagini.

47

Rappresentazione di suoni (5)• Algoritmi lossy per suoni : sfruttano il fatto che per l’orecchio umano suoni a basso

volume sovrapposti ad altri di volume maggiore sono poco udibili e possono essere eliminati– è quello che accade nello standard MPEG Layer 3 , detto anche MP3

Page 48: 1 Codifica e Rappresentazione dellinformazione Cosa vedremo : Rappresentazione binaria Codifica dei numeri Codifica dei caratteri Codifica delle immagini.

48

Lo standard MIME

• MIME (Multipurpose Internet Mail Extension) è uno standard che permette riconoscere correttamente la

codifica di dati di natura diversa (testo, immagini, suoni etc.)

• Una codifica MIME comprende – un preambolo, in cui viene specificato in modo standard

il tipo del dato che stiamo codificando (text/plain,image/jpeg,image/gif)

– un corpo (body), che contiene la codifica vera e propria

Page 49: 1 Codifica e Rappresentazione dellinformazione Cosa vedremo : Rappresentazione binaria Codifica dei numeri Codifica dei caratteri Codifica delle immagini.

49

Lo standard MIME (2)

• MIME è utilizzato ad esempio per – messaggi di posta elettronica– decodifica corretta di pagine web

• In entrambi i casi il l’applicazione che legge la posta (evolution, eudora, outlook) o l’applicazione che naviga su Web (mozilla, galeon, explorer) utilizza il preambolo per decodificare e presentare i dati in modo corretto

Page 50: 1 Codifica e Rappresentazione dellinformazione Cosa vedremo : Rappresentazione binaria Codifica dei numeri Codifica dei caratteri Codifica delle immagini.

50

Esercizi, domande etc...

– Dare la rappresentazione binaria di 26– Convertire 110011 in decimale– Qual è il massimo numero rappresentabile in

binario su 6 cifre?– A quanti bit corrisponde una memoria di 2KB?– È possibile rappresentare l’insieme completo

dei reali all’interno di un computer?

Page 51: 1 Codifica e Rappresentazione dellinformazione Cosa vedremo : Rappresentazione binaria Codifica dei numeri Codifica dei caratteri Codifica delle immagini.

51

Esercizi, domande etc…(2)

– A cosa corrisponde il fenomeno dell’overflow ?– È possibile dare una codifica non ambigua dei

mesi dell’anno usando 3 bit?– È più accurata una rappresentazione del suono

analogica o digitale?– Cosa si intende per compressione?