Codifica delle immagini

Transcript

Codifica delle immagini
Codifica
Cosa abbiamo visto :
„ Rappresentazione binaria
„ Codifica dei numeri (interi positivi, interi con
segno, razionali ….)
Cosa vedremo oggi:
„ Codifica dei caratteri ,Codifica delle immagini
,Compressione dei dati
„ Codifica dei suoni
Codifica dell’informazione
Le informazioni che intendiamo trattare non sono
costituite solo da numeri
• Ad esempio, voi state leggendo delle lettere e
vedete sullo sullo schermo delle immagini
• Per rappresentare lettere, immagini, suoni partendo
dai numeri occorre utilizzare dei sistemi di codifica
– Questi sistemi stabiliscono una corrispondenza fra un
determinato numero e una particolare informazione
• L’informazione rappresentata con numeri viene
detta digitalizzata
1
Rappresentazione dei caratteri
Definizioni:
• Repertorio. Insieme dei caratteri considerati,
definito mediante i nomi dei caratteri e magari una
loro rappresentazione visiva
• Numero di codice. Tabella in cui ciascun carattere
del repertorio è messo in corrispondenza 1-a-1 con
un insieme di numeri naturali
• Codifica. Un metodo per associare a ciascun
numero di codice una sequenza di bit che poi sono
utilizzabili per la trasmissione o la memorizzazione
elettronica.
Il codice ASCII
Le lettere dell’alfabeto sono 24; considerando le maiuscole si
arriva a 48; con i segni diacritici (accenti, cediglie, tilde,…)
arriviamo a un’ottantina; con i segni di interpunzione rimaniamo
sotto il centinaio
• Possiamo associare a ogni carattere (lettera minuscola, lettera
maiuscola, vocale accentata, segno di interpunzione,…) un
numero
• Esiste una codifica standard che si chiama ASCII: American
Standard Code for Information Interchange, che utilizza 7 bit
(i numeri da 0 a 127)
2
Tabella dei codici ASCII
•ASCII
è un codice “antico” e (ad eccezione di alcune
varianti nazionali pressoché in disuso) molto sicuro;
– è accettata da tutti i computer (non solo i PC: anche i
Mac, gli UNIX,…)
•purtroppo:
– i caratteri internazionali di numerose lingue europee
non sono considerati
• Esiste allora un’altra codifica, UNICODE che usa 2 byte
per ciascun carattere e quindi riesce a rappresentare
65536 caratteri, permettendo di rappresentare tutti gli
altri alfabeti.
3
Codifica delle immagini
L’immagine viene suddivisa mediante una griglia di pixel
(risoluzione)
• Si definisce il numero di colori che si vogliono
distinguere
• Si codifica in binario (digitale) ogni colore
– 256 colori --> 8 bit
– 16 milioni di colori --> 24 bit (codifica RGB)
• Ad ogni pixel si associa il codice del colore (il colore che
in media “domina” all’interno del quadrato stesso)
Di conseguenza ogni immagine è esprimibile mediante due
serie di numeri:
– le coordinate dei singoli quadratini (pixel)
– un numero che esprime il colore del singolo quadratino
Codifica delle immagini
4
Codifica delle immagini
2 colori
bianco: 0, nero: 1 un codice per ogni pixel
Poiché una sequenza di bit è lineare, è necessario definire delle
convenzioni per ordinare la griglia dei quadratini (pixel) in una
sequenza. Assumiamo che i pixel siano ordinati dal basso verso l'alto
e da sinistra verso destra
Con questa convenzione la rappresentazione della figura sarà data
dalla stringa binaria
0000000 0111100 0110000 0100000
Codifica delle immagini
Non sempre il contorno della figura coincide con le linee della
griglia. Quella che si ottiene nella codifica è un'approssimazione
della figura originaria.
Se riconvertiamo la stringa 0000000011110001100000100000
in immagine otteniamo
5
Codifica delle immagini
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
Risoluzione
Il numero di pixel in cui è suddivisa
un’immagine si chiama risoluzione e si
esprime con una coppia di numeri
ad es. 640 ×480 pixel
(orizzontali×per verticali)
6
Codifica delle immagini
Assegnando un bit ad ogni pixel è possibile codificare
solo immagini senza livelli di chiaroscuro
Per codificare le immagini con diversi livelli di grigio si
usa la stessa tecnica: 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, se utilizziamo quattro bit possiamo
rappresentare 24=16 livelli di grigio, mentre con otto
bit ne possiamo distinguere 28=256, ecc.
Codifica delle immagini
Analogamente possiamo codificare le immagini a colori.
In questo caso si tratta di individuare un certo
numero di sfumature di colore differenti e di
codificare ogni sfumatura mediante un'opportuna
sequenza di bit
Ad esempio, i monitor utilizzano risoluzioni di 640X480,
1024X768, oppure 1280X1024 ed un numero di colori
per pixel che va da 256 fino a sedici milioni di colori
(un byte per ogni colore base: rosso, verde, blu nel
sistema RGB)
7
Codifica delle immagini
La rappresentazione di un'immagine mediante la codifica dei pixel,
viene chiamata codifica bitmap e l’immagine viene
detta“discretizzata”.
Il numero di byte richiesti dipende dalla risoluzione e dal numero di
colori che ogni pixel può assumere.
Le immagini si possono anche ottenere mediante la definizione di
primitive grafiche quali linee, archi, poligoni, cerchi, espresse
analiticamente. Tali immagini vengono dette vettoriali. Trovano
applicazione nell’ambito del CAD.
Elaborazione dell’immagine
Una volta digitalizzate, le immagini possono essere
elaborate facilmente
Elaborare un’immagine digitalizzata vuol dire applicare
una trasformazione alla sequenza di bit che codifica
l’immagine
Esempio: cambiare/neutralizzare il colore (Croma-key)
8
Le tecnologie di memorizzazione e trasmissione dei dati non offrono
soluzioni efficienti ed economiche per gestire grandi quantità di
dati.
Occorre applicare tecniche di compressione tecniche di
compressione per ridurre lo spazio occupato. Tali tecniche
sfruttano le regolarità delle immagini.
„ compressione senza perdita di informazione compressione
senza perdita di informazione: si memorizzano pixel vicini
identici una volta sola e si ricorda quante volte occorrono
nell’immagine
„ compressione con perdita di informazione compressione con
perdita di informazione: non si memorizzano tutti i pixel,
ma solo una frazione di essi. Si usano funzioni matematiche
di interpolazione per ricostruire i pixel mancanti
Compressione lossless
La tecnica è completamente reversibile e restituisce in
fase di decompressione i dati originali.
Il fattore di compressione non è molto elevato (da 2 a 5
a seconda del tipo di dati).
E’ adatta per dati testuali, sonori, eidetici.
9
Compressione lossy
Sopprime in modo irreversibile la parte di informazione
meno significativa, permettendo così, in fase di
decompressione, la ricostruzione dei dati in modo
ancora intelligibile.
Permette di ottenere fattori compressione dell’ordine di
10, 100.
Non è adatta per dati testuali.
Formati standard
GIF(Graphic Interchange Format) utilizza 8 bit per pixel e quindi
distingue 256 colori. Usa una tecnicadi compressione senza
perdita
JPEG(Joint Photographic Expert Group) utilizza 24 bit, quindi16,8
milionidi colori. Usa una tecnicasofisticatadi compressione con
perdita.
Altri formati TIFF
10
Immagini in movimento
Memorizzazione mediante sequenze di fotogrammi
La qualità della memorizzazione dipende dal numero di fotogrammi
al secondo
Esempio: le immagini televisive vengono trasmesse con 25/30
fotogrammi al secondo, con una risoluzione di 576×720, con
colori codificati a 16 bit.
Problema dell’occupazione di spazio: per ottimizzare lo spazio non
si memorizzano tutti i fotogrammi.
I fotogrammi variano in modo continuo: si memorizza un primo
fotogramma in modo completo, e per i successivi N solo le
differenze con il primo.
11
Formati standard di compressione dei
filmati
MPEG: memorizzain modo completo solo un fotogramma
ogni 12, degli altri solo le differenze
AVI: (Microsoft)
QuickTime:(Apple e Microsoft)
Codifica dei suoni
Dal punto di vista fisico un suono è un'alterazione della
pressione dell'aria che, quando rilevata, ad esempio
dall'orecchio umano, viene trasformata in un
particolare stimolo al cervello.
Mediante un microfono queste alterazioni vengono
trasformate in un particolare stimolo elettrico
La durata, l'intensità e la variazione nel tempo della
pressione dell'aria sono le quantità fisiche che
rendono un suono diverso da ogni altro
12
Codifica dei suoni
L'onda di pressione può essere
rappresentata sul piano
cartesiano rappresentando il
tempo sull'asse delle ascisse
e la pressione sull'asse delle
ordinate.
Questa rappresentazione,
analogica,fornisce una
descrizione continua
dell'onda sonora
Per rappresentare in forma
digitale(numerica) un’onda
sonora, cioè per convertire un
segnale continuo in una
successione di numeri, si
effettuano due successive
operazioni elementari:
1. Campionamento del segnale (cioè
si preleva una successione di
campioni a intervalli costanti di
tempo)
2. Ogni campione viene
quantizzatoossia convertito in un
numero (si codificano in forma
digitale le informazioni estratte
dai campionamenti)
13
Quanto più frequentemente il valore di intensità dell'onda
viene campionato, tanto più precisa sarà la sua
rappresentazione.
Il segnale può essere riprodotto perfettamente sulla base
dei valori campione se la frequenza di campionamento è
superiore al doppio della componente del segnale di
frequenza più elevata.
Un errore viene comunque introdotto quando si converte
il valore analogico di un campione in un numero con un
numero limitato di cifre.
Le frequenze sonore udibili dall’uomo sono comprese fra 20 Hz e
20.000 Hz (20KHz)
La frequenza di campionamento per una corretta rappresentazione
dell’informazione sonora deve essere allora maggiore di
40.000Hz(40KHz) che nella pratica viene assunta di 44.1KHz.
14
Compressione dei file audio
Il piu’ noto standard e’ MP3 che permette di ottenere un fattore di
compressione 12:1.
Ad esempio un file campionato a 44,1 KHz con 16 bit per campione
che occuperebbe circa 50 milioni di byte, compresso in formato
MP3 ne occupa meno di 5 milioni, senza perdita di qualita’.
15