Title: Informatica Generale
1Informatica Generale
Alessandra Di Pierro email dipierro_at_di.unipi.i
t Ricevimento Giovedì ore 14.30-17.30 presso
Dipartimento di Informatica, Via Buonarroti,
2 stanza 362 DE Tel. 050.2212.772 o per
posta elettronica Pagina web del corso
http//www.di.unipi.it/dipierro/IG03.html
2Codifica e Rappresentazione dellinformazione
- Cosa abbiamo visto
- Rappresentazione binaria
- Codifica dei numeri (interi positivi, interi con
segno, razionali .). Codifica dei caratteri
,Codifica delle immagini - Cosa vedremo oggi
- Compressione dei dati
- Codifica dei suoni
3Rappresentazione di immagini
- Le immagini sono un continuo e non sono 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 )
4Rappresentazione di immagini (2)
- Immagini bitmap
- 1. limmagina viene scomposta in una griglia di
elementi detti pixel (da picture element)
000000000000000000000000 000000000011111111000000
000000000010000010000000 000000000010000100000000
000000000010001000000000 000000000010010000000000
000000000010100000000000 000000000011000000000000
000000000010000000000000
immagine
codifica
5Rappresentazione di immagini (3)
- Immagini bitmap
- 2. Ogni pixel è rappresentato da uno o più bit
000000000000000000000000 000000000011111111000000
000000000010000010000000 000000000010000100000000
000000000010001000000000 000000000010010000000000
000000000010100000000000 000000000011000000000000
000000000010000000000000
Rappresentazione di un pixel
6Rappresentazione 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
lintensità di ciascun colore base. In questo
modo ho circa 16 milioni di colori diversi
definibili
7Rappresentazione 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
8Rappresentazione di immagini (6)
- Quindi si cerca di risparmiare memoria
- con luso di una tavolozza (palette) che
contiene il sottoinsieme dei colori
rappresentabili che compare in una foto - ogni pixel codifica un indice allinterno 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)
9Compressione 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,
A00, B01, C10, D11, totale 2 milioni di bit
di codifica - se A compare il 90 delle volte posso
comprimere la codifica nel seguente modo A0,
B100, C110, D111 ottenendo una lunghezza di - 900 000 1 100 000 3 1 200 000 bit
10Compressione 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 dellocchio umano di essere poco
sensibile a lievi cambiamenti di colore in punti
contigui, e quindi eliminano questi lievi
cambiamenti appiattendo il colore dellimmagine - generalmente è possibile specificare quanto siamo
disposti a perdere attraverso alcuni parametri
11Rappresentazione 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) locchio
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 laltro (MPEG)
12Rappresentazione di suoni
- Caratteristiche dellaudio (e dei segnali
analogici)
tempo
13Rappresentazione di suoni (2)
- Campionamento dellaudio ad intervalli di tempo
fissi
tempo
14Rappresentazione di suoni (3)
- Campionamento dellaudio ad intervalli di tempo
fissi
tempo
Ogni campione viene rappresentato con un numero
finito di bit (quantizzazione)
15Rappresentazione di suoni (4)
- Laccuratezza 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 loccupazione di
memoria della sequenza di campioni
16Rappresentazione di suoni (5)
- Algoritmi lossy per suoni sfruttano il fatto
che per lorecchio 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
17Lo 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
18Lo standard MIME (2)
- MIME è utilizzato ad esempio per
- messaggi di posta elettronica
- decodifica corretta di pagine web
- In entrambi i casi lapplicazione che legge la
posta (outlook, eudora) o lapplicazione che
naviga su Web (explorer,netscape, galeon)
utilizza il preambolo per decodificare e
presentare i dati in modo corretto