Codifica delle Informazioni - dmi.units.itbortolu/files/Didattica/infost/Codifica... · Codifica...

27
Codifica delle Informazioni Luca Bortolussi Dipartimento di Matematica e Informatica Università degli studi di Trieste

Transcript of Codifica delle Informazioni - dmi.units.itbortolu/files/Didattica/infost/Codifica... · Codifica...

Codifica delle Informazioni

Luca Bortolussi

Dipartimento di Matematica e Informatica

Università degli studi di Trieste

Panoramica

Le informazioni gestite dai sistemi di elaborazione devono essere

codificate

per essere memorizzate, elaborate, scambiate,…

Esistono standard internazionali per risolvere problemi di compatibilità

tra differenti sistemi software

tra calcolatori di tipo e marca diversi

Vedremo brevemente:

Codifica di numeri

Codifica di caratteri

Codifica di dati multimediali

Codifica Binaria

BIT (BInary digiT): unità elementare di informazione

rappresentabile con dispositivi elettronici

- con 1 bit si possono rappresentare 2 stati:

0/1, on/off, si/no

Combinando più bit si può codificare un numero maggiore di

stati

- con 2 bit possono rappresentare 4 stati

- con K bit si possono rappresentare 2K stati

Quanti bit sono necessari per codificare N oggetti?

- N ≤ 2K K log2N K = log2N

Codifica Binaria

I GIORNI DELLA SETTIMANA IN BINARIO

Lunedi

Martedi

Mercoledi

Giovedi

Venerdi

Sabato

Domenica

Lunedi

Martedi

Mercoledi

Giovedi

Venerdi

Sabato

Domenica

0

1

1 bit

2 “gruppi”

Lunedi

Martedi

Mercoledi

Giovedi

Venerdi

Sabato

Domenica

00

01

10

11

2 bit

4 “gruppi”

Lunedi

Martedi

Mercoledi

Giovedi

Venerdi

Sabato

Domenica

000

3 bit

8 “gruppi”

001

010011100101110

111

Codifica Binaria – Unità Derivate

• Byte = 8 bit

– può rappresentare 28= 256 stati

• KiloByte (KB) = 210 bit = 1.024 byte 103 byte

• MegaByte (MB) = 220 bit = 1.048.576 byte 106

byte

• GigaByte (GB) = 230 bit = 1.073.741.824 byte

109 byte

• TeraByte (TB) = 240 bit = 1.099.511.627.776

byte 1012 byte

Codifica dei numeri naturali

• Sistema di numerazione posizionale con base β

– β simboli (cifre) corrispondono ai numeri da 0 a β-1

– i numeri naturali maggiori o uguali a β possono essere

rappresentati da una sequenza di cifre

• Se un numero naturale N è rappresentato in base β dalla

sequenza di n cifre

αn-1 αn-2 αn-3 … α1 α0

allora N può essere espresso come segue:

Codifica dei numeri naturali - esempio

13 può essere espresso in funzione delle potenze di 2:

13

Cioè può essere rappresentato dalla sequenza di bit:

1 1 0 1

= 1 x 8

23

+ 1 x 4

22

+ 0 x 2

21

+ 1 x 1

20

Codifica dei numeri naturali

Quindi:

Numero = sequenza di bit (codifica in base 2)

Con K bit si rappresentano i numeri da 0 a 2K-1

Esempi:

2 = sequenza 1 0

3 = sequenza 1 1

4 = sequenza 1 0 0

.......

Codifica di caratteri

Codifica binaria adatta a documenti in linguaggio naturale (italiano

o inglese)

a-z A-Z 0-9 ...

usando 8 bit, cioè un byte (28 = 256)

ESEMPIO

00000101 rappresenta la lettera „c‟

Codifica di caratteri

Codifica ASCII (American Standard Code for Information Interchange):

- Caratteri speciali, punteggiatura, a-z, A-Z, 0-9

- Utilizza 7 bit (128 caratteri)

- I codici ASCII estesi usano 8 bit (256 caratteri)

Codifica Ascii

ASCII SU 7 BIT

“Ciao” = 1000011 1101001 1100001 1101111

“24” = 0110010 0110100

“3 kg” = 0110011 0100000 1101011 1100111

Codifica dei dati multimediali

Lettere e numeri non costituiscono le uniche informazioni

utilizzate dagli elaboratori ma si diffondono sempre di più

applicazioni che usano ed elaborano anche altri tipi di

informazione:

- immagini

- filmati

- suoni

Spesso in questi casi si parla di applicazioni di tipo

multimediale

Codifica delle Immagini

Esistono numerose tecniche per la

memorizzazione digitale e l'elaborazione

di un'immagine

Per un calcolatore:

immagine = sequenza di bit

Codifica delle Immagini

• L‟immagine viene digitalizzata, cioè rappresentata

con sequenze di pixel

• Ogni pixel ha associato un numero che descrive un

particolare colore (o tonalità di grigio)

• Si mantengono anche la dimensione, la risoluzione e

il numero di colori utilizzati

Codifica delle Immagini -Pixel

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

Codifica delle Immagini -Pixel

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)

Codifica delle Immagini -Pixel

Poiché una sequenza di bit è lineare, si deve definire una

convenzione per ordinare la griglia dei pixel in una sequenza

Ipotesi: assumiamo che i pixel siano ordinati dal basso verso

l'alto e da sinistra verso destra

1 1

1 1 1 1

10

0

0

0

0 0 0 00

0 0

0

00

0 0

00

0

001 2 3 4 5 6 7

8 9 10 11 12 13 14

15 16 17 18 19 20 21

22 23 24 25 26 27 28

La rappresentazione della figura sarà data dalla stringa binaria

0000000 0111100 0110000 0100000

Codifica delle Immagini -Pixel

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

0000000 0111100 0110000 0100000

in immagine otteniamo:

Codifica delle Immagini -Pixel

La rappresentazione sarà più fedele all'aumentare del numero di

pixel, ossia al diminuire delle dimensioni dei quadratini della

griglia in cui è suddivisa l'immagine

zz

Codifica delle Immagini – Toni di grigio

Immagini in bianco e nero

sfumature (diversi livelli di intensità di grigio)

Assegnando un bit ad ogni pixel è possibile codificare

solo immagini senza livelli di chiaroscuro

Codifica delle Immagini – Toni di grigio

Per ogni pixel si stabilisce il livello medio di grigio cui viene

assegnata convenzionalmente una rappresentazione binaria.

Per memorizzare un pixel non è più sufficiente un solo bit.

Ad esempio, con 4 bit possiamo rappresentare 24=16 livelli

di grigio, mentre con 8 bit ne possiamo distinguere 28=256,

ecc.

Codifica delle Immagini a Colori

1) Individuare un certo numero di sfumature di

colore differenti

2) Codificare ogni sfumatura mediante

un'opportuna sequenza di bit

La rappresentazione di un'immagine mediante la

codifica dei pixel, viene chiamata codifica

bitmap

Codifica delle Immagini a Colori

Il numero di byte richiesti dipende dalla risoluzione e dal numero

di colori che ogni pixel può assumere

• I monitor utilizzano risoluzioni di 800X600, 1024X768,

1280X1024, o superiori, ed un numero di colori per pixel che

va da 256 fino a 16 milioni

Per distinguere 256 colori sono necessari 8 bit per la codifica di

ciascun pixel

•la codifica di un'immagine formata da 640X480 pixel

richiederà 2417600 bit (307200 byte)

Compressione di Immagini

Esistono delle tecniche di compressione delle informazioni

che consentono di ridurre drasticamente lo spazio occupato

dalle immagini

ESEMPIO

JPEG: standard di compressione delle immagini fotografiche

più utilizzato.

Due metodi di compressione di base:

"lossy“ perdita di informazione (più comune)

"lossless" senza perdita di informazione

Compressione di Immagini

JPEG qualità 10% - 3,2 Kb JPEG qualità 50% - 6,7 Kb

JPEG qualità 90% - 30,2 Kb JPEG qualità 100% - 87,7 Kb

Codifica di Filmati

Filmati = Immagini in movimento

Memorizzazione mediante sequenze di fotogrammi (sono

necessarie delle tecniche per ottimizzare tale memorizzazione)

Sono sequenze di immagini compresse (ad esempio si possono

registrare solo le variazioni tra un fotogramma e l‟altro)

Esistono vari formati (compresi i suoni): mpeg, avi, quicktime, mov,…

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:

• .mp3, .mov, .wav, .mpeg, .avi,

• formato midi usato per l‟elaborazione della musica al PC