Codifica dell’ Informazione
non numerica
• Problema: dato un insieme S di dati non
numerici determinare una codifica binaria
univoca per gli elementi di S
• Metodo: dato un insieme S da codificare, con
un singolo bit possiamo distinguere due
sotto-insiemi di S. Iterando, possiamo
“aggiungere” bit fino a poter distinguerre ogni
elemento di S
Codifica di simboli
• Se i simboli sono i caratteri di una
tastiera , cioè circa 126, sono necessari
Log2(126)=7 bit
Codifica di simboli
ASCII
UNICODE
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
…)
Rappresentazione di immagini (2)
• Immagini ‘bitmap’ :
1. l’immagina viene scomposta in una griglia
di elementi detti pixel (da picture element)
000000000000000000000000
000000000011111111000000
000000000010000010000000
000000000010000100000000
000000000010001000000000
000000000010010000000000
000000000010100000000000
000000000011000000000000
000000000010000000000000
codifica
immagine
Rappresentazione di immagini (3)
• Immagini ‘bitmap’ :
2. Ogni pixel è rappresentato da uno o più bit
Rappresentazione
di un pixel
000000000000000000000000
000000000011111111000000
000000000010000010000000
000000000010000100000000
000000000010001000000000
000000000010010000000000
000000000010100000000000
000000000011000000000000
000000000010000000000000
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
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
imm. televisiva
SVGA
foto
defin
numero colori
720x625
256
1024x768
65536
15000x10000
16milioni
num. byte
440 KB
1.5 MB
430 MB
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)
• In genere si usano tecniche di COMPRESSIONE dei dati (ad
esempio sfruttando la caratteristica dell’occhio umano di essere
poco sensibile al cambiamento di colore in punti adiacenti)
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
– Si potrebbe 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)
Rappresentazione di suoni
• Caratteristiche dell’audio (e dei segnali
analogici)
tempo
Rappresentazione di suoni (2)
• Campionamento dell’audio ad intervalli di
tempo fissi
tempo
Rappresentazione di suoni (3)
• Campionamento dell’audio ad intervalli di
tempo fissi
tempo
Ogni campione viene
rappresentato con un numero
finito di bit (quantizzazione)
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
Rappresentazione di suoni (5)
• Algoritmi di compressione 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
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
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 (outlook, eudora) o l’applicazione che
naviga su Web (explorer,netscape, galeon)
utilizza il preambolo per decodificare e
presentare i dati in modo corretto
Scarica

Codifica dell` Informazione non numerica