Sistemi di Elaborazione delle Informazioni Codifica delle...

Post on 25-Jul-2020

4 views 0 download

Transcript of Sistemi di Elaborazione delle Informazioni Codifica delle...

Sistemi di Elaborazione delle Informazioni

Codi�ca delle informazioni

Tullio Facchinetti<tullio.facchinetti@unipv.it>

29 ottobre 2013

15:35

http://robot.unipv.it/toolleeo

Tullio Facchinetti <tullio.facchinetti@unipv.it> Sistemi di Elaborazione delle Informazioni Codi�ca delle informazioni

base binaria → rappresentazione dei numeri

codi�ca ASCII → da numeri a caratteri

codi�ca UNICODE → da numeri a caratteri (estesi)

digitalizzazione → rappresentazione mediante numeri diimmagini, suoni, testo �abbellito�

Tullio Facchinetti <tullio.facchinetti@unipv.it> Sistemi di Elaborazione delle Informazioni Codi�ca delle informazioni

Evoluzione storica

la rappresentazione più semplice|||||| . . .

poco rappresentativa

di�coltà di memorizzazione

numeri romaniI, II, III, IV, V, V I, V II, V III, IX,X, . . .

1997→MCMXCV II

problemi di utilizzo nelle operazioni

di�coltà di rappresentazione di numeri �grandi�

Tullio Facchinetti <tullio.facchinetti@unipv.it> Sistemi di Elaborazione delle Informazioni Codi�ca delle informazioni

Numerazione decimale

é detta numerazione in base 10

cifra 7 5 0 2

valore migliaia centinaia decine unitàpeso 103 102 101 100

7502 = 7 · 103 + 5 · 102 + 0 · 101 + 2 · 100

conteggio: 0, 1, 2, 3, 4, 5, 6, 7, 8, 9 → 0 con riporto

Tullio Facchinetti <tullio.facchinetti@unipv.it> Sistemi di Elaborazione delle Informazioni Codi�ca delle informazioni

Rappresentazione di numeri interi

si sceglie una base β

si scelgono β simboli che rappresentano i numeri da 0 aβ − 1 (cifre)

i numeri sono rappresentati dai coe�cienti del polinomioper le potenze della base

si indica la base del sistema di numerazione con il pedice

(N)β = AsAs−1 . . . A1A0 0 ≤ Ai ≤ β − 1

valore(N) = Asβs +As−1β

s−1 + . . .+A1β1 +A0β

0

la rappresentazione è posizionale poiché il peso dellagenerica cifra Ai dipende dalla posizione di Ai

Tullio Facchinetti <tullio.facchinetti@unipv.it> Sistemi di Elaborazione delle Informazioni Codi�ca delle informazioni

Numerazione binaria

rappresentazione inbase β = 2

conteggio:0, 1 → 0 con riporto10, 11 → 00 con riporto100, . . .

decimale binario0 01 12 103 114 1005 1016 1107 1118 10009 100110 1010

Tullio Facchinetti <tullio.facchinetti@unipv.it> Sistemi di Elaborazione delle Informazioni Codi�ca delle informazioni

Numerazione binaria

interpretazione del valore del numero binario 1010111010

cifra 1 0 1 0 1 1 1 0 1 0

posizione 9 8 7 6 5 4 3 2 1 0peso 29 28 27 26 25 24 23 22 21 20

decimale 512 256 128 64 32 16 8 4 2 1

698 = 1 · 29 + 0 · 28 + 1 · 27 + 0 · 26 + 1 · 25+1 · 24 + 1 · 23 + 0 · 22 + 1 · 21 + 0 · 20 =

= 512 + 128 + 32 + 16 + 8 + 2

Tullio Facchinetti <tullio.facchinetti@unipv.it> Sistemi di Elaborazione delle Informazioni Codi�ca delle informazioni

Operazioni binarie: somma e sottrazione

somma

+ 0 1

0 0 11 1 0/1

esempio

1 1 0 0 1 +1 1 0 1 =

1 0 0 1 1 0

di�erenza

- 0 1

0 0 1/11 1 0

esempio

1 1 0 0 1 -1 1 0 1 =

1 1 0 0

Tullio Facchinetti <tullio.facchinetti@unipv.it> Sistemi di Elaborazione delle Informazioni Codi�ca delle informazioni

Operazioni binarie: moltiplicazione

moltiplicazione

· 0 1

0 0 01 0 1

esempio

1 1 0 0 1 x1 1 0 1 =

1 1 0 0 11 1 0 0 1 - -

1 1 0 0 1 - - -

1 0 1 0 0 0 1 0 1

Tullio Facchinetti <tullio.facchinetti@unipv.it> Sistemi di Elaborazione delle Informazioni Codi�ca delle informazioni

Operazioni binarie: divisione

esempio

1 1 0 0 1 1 0 0 1

1 0 0 1 1

1 1 1 1 0

Tullio Facchinetti <tullio.facchinetti@unipv.it> Sistemi di Elaborazione delle Informazioni Codi�ca delle informazioni

Sistema ottale

utilizza 8 cifre (o simboli)

simboli usati: 0, 1, 2, 3, 4, 5, 6, 7

interpretazione del valore del numero ottale 3715

cifra 3 7 1 5

posizione 3 2 1 0peso 83 82 81 80

decimale 512 64 8 1

3715 = 3 · 83 + 7 · 82 + 1 · 81 + 5 · 80 == 3 · 512 + 7 · 64 + 8 + 5 == 1536 + 448 + 8 + 5 = 1997

Tullio Facchinetti <tullio.facchinetti@unipv.it> Sistemi di Elaborazione delle Informazioni Codi�ca delle informazioni

Sistema esadecimale

utilizza 16 cifre (o simboli)

simboli usati: 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, A, B, C, D, E, F

interpretazione del valore del numero esadecimale 7CD

cifra 7 C D

posizione 2 1 0peso 162 161 160

decimale 256 16 1

7CD = 7 · 162 + 12 · 161 + 13 · 160 == 7 · 256 + 12 · 16 + 13 == 1792 + 192 + 13 = 1997

Tullio Facchinetti <tullio.facchinetti@unipv.it> Sistemi di Elaborazione delle Informazioni Codi�ca delle informazioni

Esempi

base 2

(1010)2 = 23 + 2 = (10)10

(1100100)2 = 26 + 25 + 22 = (100)10

(1111101000)2 = 29 + 28 + 27 + 26 + 25 + 23 = (1000)10

base 8

(12)8 = 8 + 2 = (10)10

(144)8 = 82 + 4 · 8 + 4 = (100)10

(1750)8 = 83 + 7 · 82 + 5 · 8 = 512 + 448 + 40 = (1000)10

base 16

(A)16 = (10)10

(64)16 = 6 · 16 + 4 = (100)10

(3E8)16 = 3 · 162 + 14 · 16 + 8 = 768 + 224 + 8 = (1000)10

Tullio Facchinetti <tullio.facchinetti@unipv.it> Sistemi di Elaborazione delle Informazioni Codi�ca delle informazioni

Numeri frazionari

con opportune rappresentazioni è possibile rappresentare inbase binaria numeri frazionari e numeri negativi

numeri frazionari:

vengono rappresentate separatamente la parte intera equella decimale

numeri negativi:

varie opzioni, la più semplice è �modulo e segno�si aggiunge ad un numero positivo un bit che indica se essoè positivo o negativonei computer però vengono usate altre tecniche(complemento a 1, complemento a 2)

Tullio Facchinetti <tullio.facchinetti@unipv.it> Sistemi di Elaborazione delle Informazioni Codi�ca delle informazioni

Codi�ca di dati non numerici: de�nizioni

i calcolatori lavorano soltanto con i numeri

devono poter trattare anche altre entità

testoimmaginisuoni

per questa ragione sono stati inventati i codici

Tullio Facchinetti <tullio.facchinetti@unipv.it> Sistemi di Elaborazione delle Informazioni Codi�ca delle informazioni

Alfabeto usato dai calcolatori

alfabeto

è un insieme �nito di simboli (caratteri) distinti

esempi:

U = {1} alfabeto unario

A = {0, 1} alfabeto binario

B = {A,B,C, . . . , Z} alfabeto inglese

C = {A,B, . . . , Z, 0, 1, . . . , 9} alfabeto alfanumerico

parola

è una successione �nita di caratteri di un alfabeto

1011001101 è una parola di A

SFSJKGH è una parola di B

SF120C è una parola di C

Tullio Facchinetti <tullio.facchinetti@unipv.it> Sistemi di Elaborazione delle Informazioni Codi�ca delle informazioni

Alfabeto usato dai calcolatori

i calcolatori lavorano utilizzando due simboli:

interruttore: aperto/chiuso

transistor: conduce/non conduce

livello di tensione: alto/basso

ri�ettività di un'areola: alta/bassa

dominio di magnetizzazione: ↑ ↓

Tullio Facchinetti <tullio.facchinetti@unipv.it> Sistemi di Elaborazione delle Informazioni Codi�ca delle informazioni

Alfabeti usati dall'uomo

{A,B,C,D, . . . , Z}{0, 1, 2, 3, 4, 5, 6, 7, 8, 9}{ ; , . ! ? : ( ) ' � � . . . }

{ Caratteri giapponesi }

{ Caratteri arabi }

è necessario stabilire delle regole di corrispondenza, dettecodi�che

la codi�ca mette in corrispondenza biunivoca ogni simboloappartenente all'alfabeto più ricco con una stringa di simboli

appartenenti all'alfabeto più ridotto

Tullio Facchinetti <tullio.facchinetti@unipv.it> Sistemi di Elaborazione delle Informazioni Codi�ca delle informazioni

Codi�ca

sia dato un insieme I di elementi qualsiasi

sia dato un alfabeto A

si dice codi�ca di I mediante parole di A un procedimento chepermette di stabilire una corrispondenza biunivoca tra glielementi di I e le parole di un sottoinsieme Q dell'insieme

delle parole di A

esempio: codi�ca di lettere tramite cifre decimaliA→ 01, B → 02, C → 03, D → 04, Z → 26

Tullio Facchinetti <tullio.facchinetti@unipv.it> Sistemi di Elaborazione delle Informazioni Codi�ca delle informazioni

Codi�ca binaria

un codice binario è la codi�ca dei simboli di un alfabetoS mediante stringhe di bit

sia C è la cardinalità di S (n. di elementi)

sia n il numero di bit da utilizzare

allora deve valere C ≤ 2n, ossia:

n ≥ dlog2Ce =M

teorema

dati due alfabeti A = {a1, a2, . . . , ak}, B = {b1, b2, . . . , bh} conh, k > 1 è sempre possibile codi�care l'insieme delle parole di Amediante parole di B

Tullio Facchinetti <tullio.facchinetti@unipv.it> Sistemi di Elaborazione delle Informazioni Codi�ca delle informazioni

Codice ASCII

è il codice più usato per la codi�ca dei caratteri alfanumerici(lettere e cifre) oltre che per simboli di interpunzione e vari

ad esempio:. ; : , ( ) [ ] { } / \ < > = ? ! ∼ | # $ % & * ∧ − @ ecc.

Tullio Facchinetti <tullio.facchinetti@unipv.it> Sistemi di Elaborazione delle Informazioni Codi�ca delle informazioni

Codice ASCII: American Standard Code for Information Interchange

ne esistono due versioni

7 bit

128 simboli

in questo caso l'ottavo bit è usato a volte come ridondanza(H=2) per la rilevazione di un errore (bit di parità)

8 bit

256 simboli (ASCII esteso)

codi�ca anche lettere accentate e caratteri gra�ci

l'estensione non è standardizzata e quindi fra i 128 simboliaggiunti può succedere che alla stessa codi�cacorrispondano simboli diversi

Tullio Facchinetti <tullio.facchinetti@unipv.it> Sistemi di Elaborazione delle Informazioni Codi�ca delle informazioni

Codice ASCII

Decimal Hex Char Decimal Hex Char Decimal Hex Char Decimal Hex Char

fonte Wikipedia

Tullio Facchinetti <tullio.facchinetti@unipv.it> Sistemi di Elaborazione delle Informazioni Codi�ca delle informazioni

Codi�ca UNICODE

la codi�ca ASCII utilizza al più 7 bit

al massimo può rappresentare �solo� 27 = 128 simboli

nel 1968, anno della creazione, potevano essere su�cienti

la di�usione dell'informatica ha spinto la necessità diestendere l'insieme dei simboli da rappresentare

Codi�ca UNICODE

nata per utilizzare 16 bit e permettere di rappresentare216 = 65536 simboli di�erenti

Tullio Facchinetti <tullio.facchinetti@unipv.it> Sistemi di Elaborazione delle Informazioni Codi�ca delle informazioni

Codi�ca UNICODE

standard nato nel 1991 per superare i limiti del codiceASCII

l'ultima versione dello standard supporta una codi�ca a 21bit

questo permette di rappresentare più di un milione disimboli di�erenti

Tullio Facchinetti <tullio.facchinetti@unipv.it> Sistemi di Elaborazione delle Informazioni Codi�ca delle informazioni

Codi�ca UNICODE

sono rappresentati i caratteri di tutte le lingue più di�use almondo, incluso cinese e giapponese

le maggiori lingue antiche (es. greco) e morte (es. fenicio,runico, etrusco)

codi�cati simboli tecnici (es. chimica, musica, matematica)

i simboli attualmente assegnati sono poco più di 100.000

(dati aggiornati a settembre 2013)

Tullio Facchinetti <tullio.facchinetti@unipv.it> Sistemi di Elaborazione delle Informazioni Codi�ca delle informazioni

Codi�ca delle immagini

in un calcolatore tutto è discreto

l'immagine è un insieme continuo di informazioni (luce,colore) in due dimensioni

quando si memorizzano immagini pittoriche o fotogra�chesi scompone arti�ciosamente l'immagine in una sequenza dielementi di informazione codi�cati con sequenze binarie

Tullio Facchinetti <tullio.facchinetti@unipv.it> Sistemi di Elaborazione delle Informazioni Codi�ca delle informazioni

Codi�ca bitmap di immagini

l'immagine viene suddivisa in un reticolo di punti dettipixel (picture element)

ogni pixel viene codi�cato con una sequenza di bit

0 0 0 0 0 0 0 0 0 0 0 0 0 00

0 0 0 0 0 0 0 0 0 0 0 0 0 00

0 0 0 0 0 0 0 0 0 0 0 0 0 00

0 0 0 0 0 0 0 0 0 0 0 0 0 00

0 0 0 0 0 0 0 0 0 0 0 0 0 00

0 0 0 0 0 0 0 0 0 0 0 0 0 00

0 0 0 0 0 0 0 0 0 0 0 0 00

0 0 0 0 0 0 0 0 0 0 0 0 00

0 0 0 0 0 0 0 0 0 0 0 0 00

0 0 0 0 0 0 0 0 0 0 0 0 00

0 0 0 0 0 0 0 0 0 0 0 0 00

0 0 0 0 0 0 0 0 0 0 0 0 00

0 0 0 0 0 0 00

0 0 0 0 0 0 0 0 0 0 0 0 0 00

0 0 0 0 0 0 0 0 0 0 0 0 0 00

1 1 1 1 1 1 1

1

1

1

1

1

1

la qualità dell'immagine dipende dal numero di pixelper unità di lunghezza e dal numero di bit utilizzati per

codi�care ogni pixel

Tullio Facchinetti <tullio.facchinetti@unipv.it> Sistemi di Elaborazione delle Informazioni Codi�ca delle informazioni

Codi�ca bitmap di immagini

problema: non è possibileingrandire a piacimentoun'immagine perché non siaaumenta il dettaglio, ma sidistinguono i pixel

la soluzione di aumentare ilnumero di pixel non è possibileperché questo aumenterebbe lospazio necessario permemorizzare una immagine

Tullio Facchinetti <tullio.facchinetti@unipv.it> Sistemi di Elaborazione delle Informazioni Codi�ca delle informazioni

Codi�ca dei pixel: immagini in bianco e nero

raramente si usa un solo bit

ogni pixel di solito si codi�ca con 8 bit per rappresentarediversi livelli di grigio (28 = 256 livelli)

8 bit � 256 livelli 2 bit � 4 livelli 1 bit � 2 livelli

Tullio Facchinetti <tullio.facchinetti@unipv.it> Sistemi di Elaborazione delle Informazioni Codi�ca delle informazioni

Codi�ca dei pixel: immagini a colori

i colori vengono ottenuti tramite la combinazioni di almeno3 colori base, detti primari

la composizione può avvenire tramite la tecnica di sintesisottrattiva o additiva in funzione del tipo di dispositivoutilizzato (stampante, monitor o televisore)

Tullio Facchinetti <tullio.facchinetti@unipv.it> Sistemi di Elaborazione delle Informazioni Codi�ca delle informazioni

Codi�ca dei pixel: immagini a colori

per codi�care un pixel si devono codi�care i tre coloriprimari, la cui combinazione consente di ottenere il coloredel pixel stesso

codi�ca RGB : (R)ed (G)reen (B)lue

per ciascun colore primario spesso si usano 8 bit e quindi intotale per codi�care ciascun pixel servono 24 bit

ciò consente di codi�care 224 ∼ 16 milioni di colori diversi

con il termine profondità di colore si intende il numero dibit utilizzati per codi�care i pixel

aumentando la profondità di colore:

aumenta il numero di sfumature rappresentabili

aumenta l'occumazione di memoria dell'immagine

Tullio Facchinetti <tullio.facchinetti@unipv.it> Sistemi di Elaborazione delle Informazioni Codi�ca delle informazioni

Occupazione di memoria di un'immagine

l'occupazione di memoria di un'immagine dipende da:

de�nizione o risoluzione dell'immagine (intesa come ilnumero di pixel per unità di lunghezza: dot per inch =DPI)

numero dei colori (dipende a sua volta dal numero di bitusati per codi�carli: 8, 16, 24 bit)

tipo immagine de�nizione colori occupazione

televisiva 720× 650 256 (8 bit) ∼ 440 KBmonitor PC 1024× 768 65536 (16 bit) ∼ 1.5 MBfotogra�ca 15000× 10000 16.000.000 (24 bit) ∼ 430 MB

Tullio Facchinetti <tullio.facchinetti@unipv.it> Sistemi di Elaborazione delle Informazioni Codi�ca delle informazioni

Formati di �le bitmap

TIFF (Tagged Image File Format)

profondità �no a 24 bit e vari metodi di compressione

GIF (Graphics Interchange Format)

consente di memorizzare più immagini in uno stesso �le

JPEG (Joint Photographers Expert Group)

formato standard che usa due tipi di compressione moltoutilizzato su Internet

prevede la tecnica di visualizzazione interallacciata(l'immagine viene composta per righe alterne per cui vienecaricata velocemente, ma diventa più nitida man mano cheviene completata)

Tullio Facchinetti <tullio.facchinetti@unipv.it> Sistemi di Elaborazione delle Informazioni Codi�ca delle informazioni

Formati di �le bitmap

BMP (BitMaP)

usata con Windows supporta immagini con profondità 1, 4, 8 e24 bit

PNG (Portable Network Graphics)

creato per l'uso su Internet: adottato come formatostandard

nato a causa dell'imposizione di royalties sul formato GIF

visualizzazione progressiva dell'immagine medianteinterlacciamento

informazioni ausiliare di qualsiasi natura accluse al �le

immagini a colori �no a 48 bpp (bit per plane);

immagini in scala di grigio sino a 16 bpp;

Tullio Facchinetti <tullio.facchinetti@unipv.it> Sistemi di Elaborazione delle Informazioni Codi�ca delle informazioni

Immagini vettoriali

si usa in applicazioni di progettazione meccanica,architettonica, elettronica

l'immagine viene costruita con elementi di alto livello qualilinee, cerchi, poligoni, archi, colori, ecc.

ogni oggetto è codi�cato attraverso un identi�catore (es.polyline, circle, etc.) e alcuni parametri quali le coordinatedel centro e la lunghezza del raggio (per la circonferenza) ole coordinate dei vertici (per il poligono)

Tullio Facchinetti <tullio.facchinetti@unipv.it> Sistemi di Elaborazione delle Informazioni Codi�ca delle informazioni

Immagini vettoriali

al contrario delle immagini bitmap in cui l'elemento diinformazione è il pixel, in quelle vettoriali gli elementi

dell'immagine sono gli oggetti gra�ci che la compongono

Tullio Facchinetti <tullio.facchinetti@unipv.it> Sistemi di Elaborazione delle Informazioni Codi�ca delle informazioni

Formato vettoriale per le immagini

vantaggi:

indipendenza dal dispositivo di visualizzazione e dalla suarisoluzione

gli elementi gra�ci sono indipendenti l'uno dall'altro e sipossono elaborare distintamente

minore occupazione di memoria rispetto alla gra�ca bitmap

svantaggi:

applicabilità limitata: un'immagine fotogra�ca non si puòscomporre in elementi primitivi

Tullio Facchinetti <tullio.facchinetti@unipv.it> Sistemi di Elaborazione delle Informazioni Codi�ca delle informazioni

Formati di �le vettoriali

PostScript

incorporato in molte stampanti, si è evoluto nel tempo econsente di rappresentare immagini vettoriali e bitmapanche a colori con diverse tecniche di compressione

formati derivati del PostScript sono EPS e PDF

DXF (Drawing Interchange Format)

usato da molti programmi di disegno memorizza i vettori informato testo

la versione binaria DXB è più compatta ma meno di�usa

Tullio Facchinetti <tullio.facchinetti@unipv.it> Sistemi di Elaborazione delle Informazioni Codi�ca delle informazioni

Formati di �le vettoriali

SVG (Standard Vector Graphics)

formato basato sul linguaggio derivato dall'XML

formato vettoriale standard per il Web

formato di �le aperto

supporto nativo da parte di molti browser

permette di gestire �gure dinamiche e interattive

un formato di �le aperto è un speci�ca pubblica per ladescrizione e l'archiviazione di dati digitali solitamente gestitada un ente di standardizzazione non proprietario e libera da

restrizioni legali per il suo utilizzo

Tullio Facchinetti <tullio.facchinetti@unipv.it> Sistemi di Elaborazione delle Informazioni Codi�ca delle informazioni

Rappresentazione di immagini in movimento

immagini in movimento vengono rappresentate attraversosequenze di immagini �sse (frame) visualizzate ad unafrequenza su�cientemente alta da consentire all'occhioumano di ricostruire il movimento (24, 25 o 30 immagini alsecondo)

lo standard multimediale per le immagini in movimento,MPEG, codi�ca ciascun frame separatamente secondo lostandard JPEG

si utilizzano tecniche di compressione in quanto un minutodi �lmato a 25 fotogrammi al secondo richiederebbe unospazio di memorizzazione di 644 MByte (un CD contiene680 MByte)

alcuni tipici formati di �le video sono avi, mpg, 3gp, mp4,�v e mov, webm

Tullio Facchinetti <tullio.facchinetti@unipv.it> Sistemi di Elaborazione delle Informazioni Codi�ca delle informazioni