informatica lezione 2 psicologia dello sviluppo e dell'educazione (laurea magistrale) anno...
TRANSCRIPT
Informatica
Lezione 2
Psicologia dello sviluppo e dell'educazione (laurea magistrale)
Anno accademico: 2007-2008
Codifica delle immagini
• Sistemi di supporto alla progettazione CAD/CAM
• Campo medico (per esempio, i sistemi di TAC o di ecografia)
• Telecamere e videoregistratori professionali• Effetti speciali i film, televisione• Telefoni cellulari• Ecc.
Codifica delle immagini
Suddividiamo l’immagine mediante una griglia formatada righe orizzontali e verticali a distanza costante
• Esempio: un’immagine in bianco e nero
Codifica delle immagini
• Ogni quadratino derivante da tale suddivisione prende il nome di pixel (picture element) e può essere codificato in binario secondo la seguente convenzione:– Il simbolo “0” viene utilizzato per la codifica di un
pixel corrispondente ad un quadratino in cui il bianco è predominante
– Il simbolo “1” viene utilizzato per la codifica di un pixel corrispondente ad un quadratino in cui il nero è predominante
Codifica delle immagini
0 0 0 1 0 0 0 0 0 0
0 0 1 1 1 0 0 0 0 0
0 0 1 1 1 1 1 0 0 0
0 0 0 0 0 0 0 0 0 0
Codifica delle immagini
0 0 0 1 0 0 0 0 0 0
0 0 1 1 1 0 0 0 0 0
0 0 1 1 1 1 1 0 0 0
0 0 0 0 0 0 0 0 0 0
Poiché una sequenza di bit è lineare, è necessario definireconvenzioni per ordinare la griglia dei pixel in una sequenza. Assumiamo che i pixel siano ordinati dal bassoverso l’alto e da sinistra verso destra0000000000 0011111000 0011100000 0001000000
Codifica delle immaginiNon 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 sequenza di stringhe0000000000 0011111000 0011100000 0001000000in immagine otteniamo
Codifica delle immagini
La rappresentazione sarà più fedele all’aumentaredel numero di pixel, ossia al diminuire delle dimensioni dei quadratini della griglia in cui è suddivisa l’immagine
Codifica delle immagini
• Assegnando un bit ad ogni pixel è possibile codificare solo immagini in bianco e nero
• Per codificare le immagini con diversi livelli di grigio oppure a colori si usa la stessa tecnica: per ogni pixel viene assegnata una sequenza di bit
Codifica delle immagini (grigio e colore)
• Per memorizzare un pixel non è più sufficiente un solo bit– Per esempio, se utilizziamo quattro bit
possiamo rappresentare 24 = 16 livelli di grigio o 16 colori diversi
– Mentre con otto bit ne possiamo distinguere 28 = 256, ecc.
L’uso del colore
• Il colore può essere generato componendo 3 colori: red (rosso), green (verde), blue (blu) (RGB)
• Ad ogni colore si associa una possibile sfumatura
• Usando 2 bit per ogni colore si possono ottenere 4 sfumature per il rosso, 4 per il blue e 4 per il verde che, combinate insieme, danno origine a 64 colori diversi– Ogni pixel per essere memorizzato
richiede 6 bit
L’uso del colore
• Usando 8 bit per ogni colore si possono ottenere:– 256 sfumature per il rosso …– … 256 per il verde e …– … 256 per il blu …
che, combinate insieme, danno origine a circa 16,8 milioni di colori diversi (precisamente 16.777.216 colori)
• Ogni pixel per essere memorizzato richiede 3 byte
L’uso del colore2 bit 4 bit
1 byte 3 byte
L’uso del colore
• Esempi:– 00000000 00000000 00000000 nero– 11111111 11111111 11111111 bianco– 11111111 00000000 00000000 rosso– 11111111 11111111 00000000 giallo– 00000000 11111111 00000000 verde– 00000000 11111111 11111111 cyan– 00000000 00000000 11111111 blu– 11111111 00000000 11111111 viola
– 10000000 10000000 10000000 grigio (un certo tonalità di …)
L’uso del colore
• Per modificare i colori:– Si può usare operazioni aritmetiche– Per esempio, per ottenere una tonalità più chiara di grigio:
aggiungere una certa quantità al valore di grigio sulla diapositiva precedente
– Più informazione sull’addizione di numeri binari: vedremo …
1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 +0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 =1 1 0 0 0 0 0 0 1 1 0 0 0 0 0 0 1 1 0 0 0 0 0 0
Codifica delle immagini
• Esempio: – Per distinguere 256 colori sono necessari otto bit per la
codifica di ciascun pixel– La codifica di un’immagine di 256 colori, formata da 640 x
480 pixel, richiederà 640 x 480 = 307.200 byte (2.457.600 bit)
• Per essere riprodotta (per esempio, sullo schermo), la rappresentazione binaria di un’immagine deve anche avere informazioni sul:– Numero di righe dell’immagine– Numero di colonne dell’immagine– Numero di colori usati
Risoluzione
• Il numero di pixel presenti sullo schermo (colonne x righe) prende il nome di risoluzione
• Risoluzione tipiche sono 640 x 480
800 x 600
1024 x 768
1280 x 1024
1600 x 1200
Risoluzione
• Per modificare i numeri di colori, il numero di pixel sullo schermo:– Start
Impostazione Panello di controllo Schermo Impostazione (scheda)
Codifica delle immagini
• Le immagini codificate pixel per pixel sono dette immagini in grafica bitmap– Le immagini bitmap occupano parecchio spazio– Per esempio, l’immagine della finestra “Proprietà -
Schermo” sulla diapositiva precedente (in cui 3 byte sono usati per i colori) richiede 493.674 byte (circa 482 KB)
Codifica delle immagini
• Esistono delle tecniche di compressione che permettono di ridurre le dimensioni– Ad esempio, se più punti vicini di un’immagine assumono lo
stesso colore, si può memorizzare la codifica del colore una sola volta e poi ricordare per quante volte deve essere ripetuta
– Un esempio concreto - codifica run-length nel contesto delle immagini in bianco e nero:
• Usa numeri binari per specificare la lunghezza della prima sequenza di 0 (bianco)
• … poi quella della sequenza di 1 (nero)• … poi quella della successiva sequenza di 0• … e così via
Codifica delle immagini
• I formati come GIF, JPEG e PNG sono formati compressi– Per esempio: rispetto al bitmap, il formato JPEG
dedica meno bit alla descrizione delle sfumatura cromatiche di un’immagine
– L’immagine della finestra “Proprietà - Schermo” in formato JPEG si occupa 30.401 byte (circa 29,6 KB)
• Argomento correlato: formati come Postscript e PDF per i documenti
Codifica delle immagini
• Distinzione tra compressione lossless e compressione lossy– Lossless: compressione senza perdita di
informazioni • Dalla versione compressa, si può ricostruire perfettamente
la versione non-compressa• Per esempio, GIF, PNG
– Lossy: compressione con perdita di informazioni• Dalla versione compressa, non è possibile recuperare la
versione originale• Per esempio, JPEG: nostri occhi distinguono bene
variazioni di luminosità ma non tonalità – JPEG dedica meno bit alla tonalità
Codifica delle immagini
• JPEG: un esempio
30,2 KB 6,8 KB
3,2 KB
Codifica di immagini in movimento
• Un filmato è una sequenza di immagini statiche (dette fotogrammi o frame)
• Per codificare un filmato si “digitalizzano” i suoi fotogrammi
• Esempio:– 30 immagini ad alta risoluzione al secondo– 30 imm./sec x 2.457.600 bit/imm. = 73.728.000 bit/sec– Un minuto richiederebbe 60 sec x 73.728.000 = 4.423.680.000
bit (5.529.600 byte, circa 5.400 KB)
• Esempi di formati per il video: AVI, MOV• Compressione: MPEG (Moving Picture Expert Group),
memorizza solo la differenza tra fotogrammi consecutivi
Codifica delle immagini
• Quanti byte occupa un’immagine di 20 x 40 pixel in bianco e nero?
• Quanti byte occupa un’immagine di 100 x 100 pixel a 256 colori?
• Se un’immagine a 16.777.216 di colori occupa 2400 byte, da quanti pixel sarà composta?
Codifica dei suoni
• Fisicamente un suono è rappresentato come un’onda che descrive la variazione della pressione dell’aria nel tempo (onda sonora)
• Sull’asse delle ascisse viene rappresentato il tempo e sull’asse delle ordinate viene rappresentata la variazione di pressione corrispondente al suono stesso
Tempo
Pre
ssio
ne d
el su
ono
Codifica dei suoni
• Un’idea chiave: il suono è continuo (la pressione varia senza salti)
• È possibile ottenere una registrazione analogica continua dell’onda– Una registrazione analogica memorizza ogni variazione
dell’onda originale (almeno in linea di principio)
• La rappresentazione digitale di un suono funziona in un modo diverso
Codifica dei suoni
• Si effettuano dei campionamenti sull’onda (cioè si misura il valore dell’onda a intervalli di tempo costanti) e si codificano in forma digitale le informazione estratte da tali campionamenti
• Quanto più frequentemente il valore di intensità dell’onda viene campionato, tanto più precisa sarà la sua rappresentazione
• Il numero di campioni raccolti per ogni secondo definisce la frequenza di campionamento che si misura in Hertz (Hz, numero di campionamento ogni secondo – di solito 44.100 Hz)
Tempo
Pre
ssio
ne d
el su
ono
Codifica dei suoni
• La sequenza dei valori numerici ottenuti dai campioni può essere facilmente codificata con sequenze di bit
Un’approssimazione!
Tempo
Pre
ssio
ne d
el su
ono
• La rappresentazione è tanto più precisa quanto maggiore è il numero di bit utilizzati per codificare l’informazione estratta in fase di campionamento
Codifica dei suoni
• Per esempio: con 1 bit
Tempo
Pre
ssio
ne d
el su
ono
• Per esempio: con 2 bit
Tempo
Pre
ssio
ne d
el su
ono
1
0
11
10
00
01
Codifica dei suoni (esempio)• Se volessimo codificare la musica di qualità
CD dovremmo:– Usare due registrazioni corrispondenti a due
microfoni distinti– Campionare il segnale musicale producendo
44.100 campioni al secondo– Per ogni campione (che è un numero) si usano 16
bit (qualità CD)– Per cui, il numero di bit che sarebbero necessari
per codificare ogni secondo è pari a2 x 44.100 campioni x 16 bit/campione = 1.414.200 bit
(circa 176.775 byte, o 173 KB)
Codifica dei suoni
ADC: da
analogico a digitale
DAC: da digitale
ad analogico
01011010111100001010000010000010
Convertitore analogico-digitale
Convertitore digitale-analogico
Codifica dei suoni• Codifiche standard
– MP3 , WAV (MS-Windows), AIFF (Audio Interchange File Format, Apple), MIDI
• MP3– Variante MPEG per suoni– Lossy– Grande diffusione, molto efficiente (fattore di compressione
circa 5:1 - 10:1, circa 1-2 MB ogni minuto)
• MIDI: codifica le note e gli strumenti che devono eseguirle– Efficiente, ma solo musica, non voce
Codifica dei suoni
• Quanto spazio occupa un suono (non in stereo) della durata di 10 secondi campionato a 100 Hz (100 campioni al secondo), in cui ogni campione occupa 4 byte?