Codifica di informazioni multimediali
- Un'immagine/audio è un insieme continuo di informazioni
- Problema: rendere digitale una informazione prettamente
analogica
- Analogico: rappresentazione continua dell'informazione
- Digitale: rappresentazione discreta dell'informazione (ad
esempio 0 ed 1)
Da analogico a digitale: la quantizzazione
- per poter trattare un
segnale analogico come
segnale digitale è
necessario adottare una
rappresentazione finita dei
campioni
- questo procedimento
prende il nome di
quantizzazione.
- Delle varie possibilità che si
presentano, quella più
usata è la rappresentazione
lineare con numeri interi.
Da analogico a digitale: frequenza di campionamento
- La grandezza varia nel tempo e
non può essere rappresentata
da un solo valore.
- I valori di riferimento debbono
essere rilevati in diversi istanti
di tempo (frequenza di
campionamento).
- La quantizzazione deve poi
essere ripetuta per ogni valore
campionato.
Campionamento e quantizzazione
Ampiezza della grandezza fisica
Valori rappresentativi
Tempo
Codifica dei suoni
- Rappresentazione tanto più precisa tanto più:
- Frequente è la campionatura
- Maggiore il numero di bit per codificare l'informazione
- Esempi:
- Cassetta musicale: 22 KHz, 9/10 bit per campione
- Audio CD: 44,1 KHz, 16 bit per campione
- DVD: 48 KHz, 16 bit per campione
- Schede audio PC: 10/40 KHz, 16 bit per campione
Tecniche di compressione audio
- MP3 (MPEG 1 Layer 3) utilizza una tecnica di compressione con
perdita dei dati
- Il formato MP3: usa dei criteri psico-acustici umani:
- considera solo i suoni che il nostro cervello è in grado di percepire (sotto
frequenza 20000Hz e non nascosti da suoni di intensità maggiore)
- Risparmio di 1/10 rispetto a formato .wav (bitrate 128 Kbit/s vs
bitrate 1411 Kbit/s) dove bitrate = num di bit necessari per
codificare 1 secondo di audio
Codifica di immagini
- Esistono numerose tecniche per la memorizzazione digitale e
l'elaborazione di un'immagine
- Una prevede la scomposizione dell'immagine in una griglia di tanti
elementi (punti) che sono l'unità minima di memorizzazione -Formato
Raster/Bitmap
- La seconda strada prevede la presenza di strutture elementari di natura
più complessa, quali linee, circonferenze, archi, etc. - Formato Vettoriale
Immagini Digitali
- Raster o Bitmap:
- Mappata all'interno di una griglia, come un grande mosaico.
- Rappresentazione più semplice (richiesta poca elaborazione)
- Spazio maggiore per essere memorizzate.
- Vettoriale:
- Basate su forme e colori generate tramite formule matematiche
- Ingrandimento teoricamente infinito.
- Rappresentazione più complessa
Immagini Digitali: Ingrandimento
S
Raster
.jpeg .gif .png
S
S
Vector
.svg
Rappresentazione delle immagini
- Codifica binaria delle immagini:
- L'immagine è suddivisa in punti o picture
element (pixel)
- Di ogni pixel viene rappresentato il colore o
livello di grigio, espresso da un valore
numerico intero
- L'immagine diventa quindi una sequenza di
bit (digitalizzazione)
- La risoluzione di un'immagine è
determinata dal numero di punti per
pollice (dot per inch o dpi) e dal numero di
colori o livelli di grigio (cioè quanti bit
vengono usati per codificare questa
caratteristica)
Pixels
- Pixel = picture element, è il più piccolo
elemento di una griglia in cui è diviso lo
schermo. A ogni pixel si assegna un indirizzo
in memoria, così che il computer possa
deciderne colore e luminosità.
- Cella = unità minima nella quale è divisa la
pagina stampata. Le sfumature di colore
dipendono dalla tonalità preponderante nei
puntini all'interno della cella.
- Risoluzione = qualità di un'imagine:
- Schermi-> numerodi pixel (es: 640x480,
1024x768)
- Stampanti-> dpi (dot per inch, punti per pollice,
ovvero numero di punti su una linea lunga 2,54 cm)
Diversi gradi di risoluzione
Codifica delle immagini B/N
- Dividere l'immagine in una griglia a righe orizzontali e verticali
- Ogni quadratino della griglia è un pixel (picture element)
- Codificare ogni pixel con:
- O se il pixel è bianco
- 1 se il pixel è nero
- Convenire un ordinamento per i bit usati nella codifica
Codifica delle immagini B/N con griglia
- 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 B/N: pixel
Ogni quadratino derivante da tale suddivisione è un pixel e può
essere codificato in binario secondo la seguente convenzione:
- il simbolo "O" 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 B/N: esempio
1 0 0 0 0 0
0%| 15
1
0
0
0
13
14
0
1
1
1
1
0
15
16
17
18
19
0
20
21
Q2 02.3 024 025 026 027
028
- Poiché una sequenza di bit è lineare, si deve definire una convenzione per ordinare i pixel
della griglia
- Hp: assumiamo che i pixel siano ordinati dall'alto verso il basso e da sinistra verso destra
- La rappresentazione della figura è data dalla stringa binaria
0100000011000001111000000000
Codifica delle immagini B/N: approssimazione
- Non sempre il contorno della figura coincide con le linee della griglia:
- nella codifica si ottiene un'approssimazione della figura originaria
- 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 (aumento di risoluzione)
Codifica delle immagini B/N: risoluzioni
- Quindi: le immagini sono rappresentate con un certo livello di
approssimazione, o meglio, di risoluzione, ossia il numero di pixel
usati per riprodurre l'immagine.
- Risoluzioni tipiche
- 640 x 480 pixel; 800 x 600 pixel
- 1024 x 768 pixel; 1280 x 1024 pixel
- 1280 x 720 pixel (HD) 1920 x 1080 pixel (full HD)
Immagini in toni di grigio
- Le immagini in bianco e nero hanno delle sfumature, o livelli di
intensità di grigio
- Per codificare immagini con sfumature:
- si fissa un insieme di livelli (toni) di grigio, cui si assegna
convenzionalmente una rappresentazione binaria
- per ogni pixel si stabilisce il livello medio di grigio e si memorizza la
codifica corrispondente a tale livello
- Per memorizzare un pixel non è più sufficiente 1 bit.
- con 4 bit si possono rappresentare 24=16livelli di grigio
- con 8 bit ne possiamo distinguere 28=256,
- Con K bit ne possiamo distinguere 2k
Immagini a colori
- Analogamente possono essere codificate le
immagini a colori:
- Bisogna definire un insieme di sfumature di colore
differenti e rappresentarle mediante una opportuna
sequenza di bit
- Nella codifica RGB si utilizzano tre colori: rosso
(Red), verde (Green) e blu (Blue)
- Ad ogni colore si associa un certo numero di
sfumature codificate su N bit (2^ possibili
sfumature)
- Esempio:
- con 2 bit per colore si ottengono 4 sfumature per
colore
- con 8 bit per colore si ottengono 256 sfumature per
colore e 2563 (16 milioni) possibili colori
Immagini a colori: qualità
- La qualità dell'immagine
dipende:
- dal numero di punti in cui
viene suddivisa
(risoluzione)
- dai toni di colore permessi
dalla codifica
Bitmap (o immagine raster)
- La rappresentazione di un'immagine mediante la codifica a pixel
viene chiamata bitmap
- Il numero di byte richiesti per memorizzare un bitmap dipende
dalla risoluzione e dal numero di colori
- Esempio:
- se la risoluzione è 640x480 con 256 colori occorrono 2.457.600 bit =
307200 byte = circa 300 KB
Formati Bitmap
- I formati bitmap più conosciuti sono
- BITMAP(.bmp)
- GIF(.gif)
- JPEG(.jpg)
- TIFF (.tiff)
compressi
- PNG (.png)
- In tali formati si utilizzano metodi di compressione per ridurre lo
spazio di memorizzazione
- Aree dello stesso colore si rappresentano in modo "abbreviato".
- È in genere possibile passare da un formato ad un altro
Compressione dei dati
- Lossless:
- Senza perdita di informazione
- Programmi, documenti
- Lossy:
- Con perdita di informazione
- Rapporto di compressione variabile dall'utente
- Immagini: JPEG
- Animazioni: MPEG (memorizza solo differenze tra fotogrammi)
- Audio: MP3 (elimina suoni a basso volume sovrapposti con suoni ad alto
volume)
Tecniche di compressione
- Le immagini possono richiedere molto spazio per la loro
memorizzazione
- Esempi di tecniche di compressione:
- 000000000011 -> 10 volte 0, 2 volte 1
- Memorizzazione non di tutti i bit o fotogrammi (riduzione di fedeltà
rispetto all'originale ma spesso non è percepibile dall'occhio umano)
Un semplice esempio con dizionario
- Compressione lossless con tecnica basata su un
dizionario
- Testo di esempio: "I re di Francia della dinastia Carolingia sono:
Carlo II, Luigi II di Francia, Luigi III di Francia, Carlomannodi
Francia, Carlo III detto il grosso, Odo, Carlo III detto il semplice,
Roberto I di Francia, Rodolfo Duca di Borgogna, Luigi IV di
Francia, Lotario di Francia, Luigi V di Francia" (lunghezza: 292
caratteri)
- Analisi delle regolarità presenti nel testo:
- Si individuano le sequenze ripetute (parole) contando le
ripetizioni e si compila il dizionario (vedere tabella)
- Si assegna un simbolo che la sostituisce ad ogni parola
. Il testo diventa:"I re 1 2 della 1nastia Carolingia sono: 5 3, 4 3 1
2, 4 31 1 2, 5manno 1 2, 5 31 6 7 grosso, Odo, 5 31 6 7 semplice,
Roberto | 1 2, Rodolfo Duca 1 Borgogna, 4 IV 12, Lotario 1 2, 4
V 12" (lunghezza: 187 caratteri + 35 caratteri per il
dizionario = 222 caratteri -76% della lunghezza originaria)
- Un testo più lungo permette una efficienza maggiore!
Dizionario di compressione
Indice
1
2
3
4
5
6
7
Parola
di
Francia
II
Luigi
Carlo
detto
il
N
10
8
5
4
4
2
2