’’Campionamento e codifica di immagini e suoni’’
Concetto di continuo e discreto
La codifica di immagini e suoni
Conversione A/D e D/A di un segnale
Campionamento, Quantizzazione e digitalizzazione
Il teorema di Shannon e la frequenza di
campionamento
 Ricostruzione del segnale campionato: problemi di
distorsione
 Spettro di un segnale





Funzionalità di un calcolatore


Trasferimento





Elaborazione
Controllo
Memorizzazione
Il calcolatore: modello
concettuale
1.
Elaborazione
2.
Memorizzazione
Interconnessione
3.
Comunicazione
(interfaccia)
Il calcolatore:
modello architetturale
2.
Memoria
Memorizzazione
Memoria
1.
Elaborazione
Unità Centrale
di Elaborazione
Elettronica Magnetica
Interconnessione
Collegamenti
(BUS/Cavi)
3.
Comunicazione
(interfaccia)
Periferiche
Lo schema di riferimento

Schermo
Interfaccia
ingresso/uscita
Tastiera


Mouse
Memoria
di massa
Interfaccia
Interfaccia
ingresso/uscita ingresso/uscita
Interfaccia
ingresso/uscita
   
Bus dati
Bus indirizzi
Bus di controllo
…
Memoria
centrale
CPU
 
Organizzazione tipica di un
calcolatore “bus oriented”
CPU
Dispositivi di I/O
Unità di
controllo
Unità
aritmetico
logica (ALU)
Terminale
Stampante
Registri
CPU
Memoria
centrale
Unità
disco
Bus
Tre tipologie di istruzioni
• Istruzioni aritmetico-logiche (Elaborazione dati)
– Somma, Sottrazione, Divisione, …
– And, Or, Xor, …
– Maggiore, Minore, Uguale, Minore o uguale, …
• Controllo del flusso delle istruzioni
– Sequenza
– Selezione semplice, a due vie, a n vie, …
– Ciclo a condizione iniziale, ciclo a condizione finale, …
• Trasferimento di informazione
– Trasferimento dati e istruzioni tra CPU e memoria
– Trasferimento dati e istruzioni tra CPU e dispositivi di
ingresso/uscita (attraverso le relative interfacce)
Elementi di una CPU
•
•
•
Unità di controllo
– legge le istruzioni dalla memoria e ne determina il tipo.
Unità aritmetico–logica
– esegue le operazioni necessarie per eseguire le istruzioni.
Registri
– memoria ad alta velocità usata per risultati temporanei e
informazioni di controllo;
– il valore massimo memorizzabile in un registro è
determinato dalle dimensioni del registro;
– esistono registri di uso generico e registri specifici:
• Program Counter (PC) – qual è l’istruzione successiva;
• Instruction Register (IR) – istruzione in corso
d’esecuzione;
• …
Acquisizione ed Elaborazione di Segnali
Il calcolatore memorizza ed elabora vari tipi di
informazioni

Numeri, testi, immagini, suoni, filmati, ecc.
Occorre rappresentare tale informazione in formato
facilmente manipolabile dall’elaboratore

La rappresentazione interna delle informazioni
Codifica dell'Informazione
 L'architettura di un calcolatore impone delle regole di
conversione tra le rappresentazioni "umane" delle
informazioni e quella binaria.
 Le
informazioni
che
essenzialmente di due tipi:
 numeriche
 alfanumeriche.
l'uomo
gestisce
sono
INFORMAZIONE
ALFANUMERICA
NUMERICA
Non soggetta a calcoli
Codifica tabellare
ASCII, Unicode
Soggetta a calcoli
Sistemi di numerazione
BINARIO, Esadecimale, Ottale
La codifica binaria di un testo avviene dunque seguendo lo schema
seguente (Codifica Ascii):
Acquisizione ed elaborazione delle immagini
• Prima che fotografie e immagini possano
essere elaborate dal computer, esse devono
essere digitalizzate tramite un processo che
si suddivide in tre fasi: campionamento,
quantizzazione e codifica
La più piccola unità che compone un'immagine digitalizzata
è chiamata pixel (picture element).
Un'immagine digitale è una collezione di pixel.
Pixel – Picture element
• Le immagini vengono
scomposte in griglie
• Le caselle di una griglia
vengono chiamate pixel
• La risoluzione indica il
numero di pixel in cui è
pixel
suddivisa un’immagine
• La rappresentazione di un’immagine mediante
la codifica a pixel viene chiamata bitmap
Un pixel rappresenta una regione quadrata
coincidente con una cella della griglia
Esempio di digitalizzazione
Si deve stabilire una convenzione per ordinare i pixel della griglia;
assumiamo che i pixel siano ordinati dal basso verso l’alto e da
sinistra verso destra.
La rappresentazione della figura è data dalla stringa binaria
La ricostruzione è un’approssimazione dell’immagine originaria.
Esempio di digitalizzazione
• La rappresentazione sarà più fedele all’aumentare del numero dei pixel,
ossia all’aumentare del numero di quadratini della griglia in cui è
suddivisa l’immagine.
Codifica delle immagini
• Assegnando un bit (1,0) 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 ma per ogni pixel viene assegnata
una sequenza di bit
• 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, green, blue (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
• Usando 8 bit per ogni colore si possono ottenere 256 sfumature per il rosso,
256 per il blu e 256 per il verde che, combinate insieme, danno origine a
circa 16,8 milioni di colori diversi (precisamente 16777216 colori)
• Ogni pixel per essere memorizzato richiede 3 byte
Risoluzione
• Il numero di pixel presenti sullo schermo (colonne x righe)
prende il nome di risoluzione
• Risoluzione tipiche sono
640 x 480 1024 x 768 1280 x 1024
• Esempio:
– Per distinguere 256 colori sono necessari otto bit per la
codifica di ciascun pixel
– La codifica di un’immagine formata da 640 x 480 pixel
richiederà
640 x 480 X8 = 2.457.600 bit (307.200 byte ca.300 kByte)
Effetti della variazione di definizione
Una stessa immagine può essere rappresentata con un numero
differente di pixel, per esempio modificando le dimensioni dei
pixel, a parità di dimensioni dell’immagine:
Grafica bitmap
• Le immagini codificate pixel per pixel sono dette
immagini in grafica bitmap
– Le immagini bitmap occupano molto spazio su disco
• 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
• I formati come GIF, JPEG e PNG sono formati
compressi per le immagini
• I formati come Postscript e PDF per i documenti
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 (640X480X8) al secondo
– 30 immagini/sec x 2457600 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 ca. 5.5 MByte)
• Compressione: MPEG (Moving Picture Expert
Group), differenza tra fotogrammi
• Esempi di altri formati per il video: AVI, MOV,DivX
Video ed animazioni
Per rappresentare una sequenza di immagini si possono
memorizzare tutti i fotogrammi uno dietro l’altro.
L’occhio umano ha la proprietà che quando un’immagine viene
impressa sulla retina, viene mantenuta alcuni millisecondi prima di
svanire.
Se una serie di immagini viene proiettata alla velocità di 50 o più
immagini/sec, l’occhio non si accorge che ciò che sta vedendo sono
immagini discrete.
La fluidità del moto e determinata dal numero di immagini
diverse per secondo, mentre lo sfarfallio e determinato dal numero
di volte per secondo in cui lo schermo e ridisegnato.
Video digitali
 768) con 24 bit/pixel e 25
• Un video XGA (1024
immagini/s va trasmesso a 472Mbps!
(1024  768)  24  25  471859200bps
• Vanno studiate strategie per comprimere l’informazione a
nostra disposizione.
Le immagini in Movimento
• L’occhio umano ricostruisce l’informazione di
movimento se riceve una successione
sufficientemente rapida di immagini fisse
• Cinema: 24 fotogrammi/sec
• TV: 25 o 30 fotogrammi/sec
• Lo standard MPEG (Moving Picture Expert Group) è
sostanzialmente la codifica di ciascun frame fisso,
oltre alla codifica di suoni, attraverso tecniche di
Compressione dei Dati.
– senza compressione, 1 min. di filmato a 24 fotogrammi
/sec occuperebbe 644MB
Compressione
Esempi di compressione:
Per ridurre la quantità di informazioni del filmato, si può
memorizzare il primo fotogramma e, a seguire, registrare
solo le modifiche rispetto ai fotogrammi precedenti.
E’ inoltre possibile comprimere le informazioni residue
ignorando le variazioni di colore così piccole da non poter
essere colte dall’occhio umano in un’immagine in
movimento.
Compressione
Compressione senza perdita (lossless)
Tali algoritmi sfruttano la ridondanza presente nei dati,
rappresentando l’informazione multipla una sola volta ed indicando il
numero di ripetizioni oppure tengono conto della frequenza statistica
degli elementi dell’informazione.
Esempio: il codice di huffman è il tipico codice completamente
reversibile
Compressione con perdita (lossy).
I sistemi di codifica con perdita di informazione sono importanti,
perché a volte accettare perdita di informazione può far guadagnare
molto in termini di compressione. Esempi di formati di questo tipo
sono JPEG, MPEG, MP3, ecc…
3° Salvataggio
2° Salvataggio
1° Salvataggio
Formato JPEG
(Joint Photographic Experts Group)
Si tratta di un formato detto “a
perdita di dati”; esso parte dalla
constatazione che l’occhio umano
percepisce
maggiormente
una
variazione di luminanza piuttosto che
una variazione di crominanza.
Ogni
nuovo
processo
di
compressione del file produce un
deterioramento dell’immagine.
Codifica dei suoni
• Fisicamente un suono è rappresentato come un’onda
che descrive la variazione della pressione dell’aria
nel tempo (onda sonora)
t
• Sull’asse delle ascisse viene rappresentato il tempo e
sull’asse delle ordinate viene rappresentata la
variazione di pressione corrispondente al suono
stesso
Codifica dei suoni
• Si effettuano dei campionamenti sull’onda (cioè si misura il valore
del segnale a intervalli di tempo costanti ∆t ) e si codificano in
forma digitale le informazione estratte da tali campionamenti
t
∆t
• Quanto più frequentemente il valore di intensità del segnale 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)
Codifica dei suoni
• La sequenza dei valori numerici ottenuti dai campioni può essere
facilmente codificata con sequenze di bit (quantizzazione)
Una
approssimazione!
t
• La rappresentazione del segnale è tanto più precisa
quanto maggiore è il numero di bit utilizzati per
codificare l’informazione estratta in fase di
campionamento
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 44100
campioni al secondo (44.1 KHz)
– Per ogni campione (che è un numero) si usano 16 bit per
codificarlo
– Per cui, il numero di bit che sarebbero necessari per
codificare ogni secondo è pari a
2 x 44100 campioni x 16 bit/campione = 1.414.200 bit=176.775Byte
ca.172 kByte
Codifica dei suoni
• Codifiche standard
– WAV (MS-Windows), AIFF (Audio Interchange File Format, Apple)
– MIDI
– MP3
• MIDI
– Codifica le note e gli strumenti che devono eseguirle
– Efficiente, ma solo musica, non voce
• MP3
– MPEG-3: variante MPEG per suoni
– Grande diffusione, molto efficiente
Dispositivi di codifica (ADC)
Cavo elettrico 1
Trasporta il segnale
elettrico analogico fino
al ADC
Suono
onda di
pressione
dell’aria
Analog to
Digital
Converter
Cavo elettrico 2
Trasporta il segnale
elettrico digitale verso
il computer
Microfono
Converte il suono in
segnale elettrico
Analog to Digital Converter
Campionamento
Segnale analogico
Quantizzazione
Segnale campionato
10001001010001
Segnale digitale
Dispositivi di codifica (DAC)
• Esiste anche il processo inverso, che trasforma l’informazione da
digitale ad analogica.
Nel caso del suono questo compito è svolto dal D.A.C. (Digital to
Analog Converter) che trasforma il segnale digitale in segnale elettrico
analogico; tale segnale viene successivamente trasformato in onda
sonora dalle casse acustiche.
Cavo elettrico 1
Trasporta il segnale elettrico
digitale verso il DAC
Digital to
Analog
Converter
Cavo elettrico 2
Trasporta il segnale elettrico
analogico fino alla cassa
Cassa Acustica
Trasforma il segnale elettrico
analogico in suono
Suono
onda di
pressione
dell’aria
Riassumendo: per digitalizzare un segnale.......
CAMPIONAMENTO: si estraggono ad intervalli regolari dei
campioni del segnale. La frequenza con cui si estraggono i
campioni è detta frequenza di campionamento.
QUANTIZZAZIONE: si convertono i valori numerici che
rappresentano le ampiezze del segnale (variabili in origine in un
intervallo continuo) in un numero finito di valori.
CODIFICA: Il segnale, dopo essere stato campionato e
quantizzato, per poter essere utilizzato dall’elaboratore, deve
ancora essere convertito in digitale, secondo un’opportuna
codifica.
Segnali audio - Campionamento
• Esiste una frequenza di campionamento (detta valore di
Nyquist) che garantisce la ricostruzione fedele del segnale.
• Teorema Nyquist-Shannon : Il segnale può essere
ricostruito completamente se è stato campionato ad una
frequenza Fc maggiore del doppio della frequenza della
componente del segnale di frequenza più alta fM
(Fc >= 2 fM)
• Es. l’orecchio umano è in grado di percepire frequenze tra i
20Hz e i 22 KHz la frequenza di campionamento per l’audio
(limite di Nyquist) si pone quindi attorno ai 44 KHz.
Segnali audio - Quantizzazione
• I campioni (che sono numeri) sono rappresentati da un valore
binario
• I valori tipici per i livelli nel suono sono: 8 bit per valore pari a 256
valori e 16 bit per valore pari a 65536 valori (qualità CD)
Il teorema del campionamento di Nyquist-Shannon (1949) definisce il minimo
della frequenza di campionamento di un segnale, necessario per evitare distorsioni
dello stesso.
Dato un segnale, con larghezza di banda finita e nota, la frequenza minima di
campionamento di tale segnale deve essere almeno il doppio della sua massima
frequenza:
Fc >= 2 fM
Il campionamento è un passo del processo di conversione analogico-digitale di un
segnale. Consiste nel prelievo di campioni (samples) da un segnale analogico e
continuo nel tempo ogni t secondi.
t è l'intervallo di campionamento, mentre Fs=1 / t è la frequenza di
campionamento (es. 1 kHz  1/1.000 s = 1 ms)
• Il risultato del campionamento è un segnale con valori discreti.
• Tale segnale sarà in seguito quantizzato e codificato per renderlo accessibile a
qualsiasi elaboratore digitale.
• Il teorema del campionamento pone un vincolo per la progettazione di apparati di
conversione analogico-digitale: se si ha a disposisione un campionatore che lavora
a frequenza Fc , è necessario mandargli in ingresso un segnale a banda limitata da
Fc /2 (Teorema di Shannon).
In generale un segnale analogico non è limitato in frequenza, ma dovrà essere
filtrato per eliminare le componenti di frequenza maggiore di Fc /2, a tale scopo si
usa un filtro anti-aliasing ( filtro passa-basso).
Teorema del campionamento
Un segnale f(t) a banda limitata da fM (frequenza massima) può essere
univocamente ricostruito dai suoi campioni f(n t ) con n  N presi ad una
frequenza Fc=1 / t solo se Fc >= 2 fM
• Es. l’orecchio umano è in grado di percepire frequenze tra i 20Hz e i 22 KHz la
frequenza di campionamento per l’audio (limite di Nyquist) si pone quindi attorno
ai 44 KHz.
Effetto Aliasing
Consiste in una sovrapposizione del segnale campionato che rende impossibile
l'esatta ricostruzione del segnale originale e tale ricostruzione risulterà distorta.
Per questo motivo ogni apparato di conversione analogico-digitale ha un filtro
anti-alias (filtro passa basso) a monte del campionatore, che limita lo spettro del
segnale di ingresso a
Fc >= 2 fM
Simulazione di un Segnale sinusoidale a frequenza 27 Hz campionato con
differenti frequenze di Campionamento (Sample)
fc=37 fs
1.5000
fc=10,5 fs
1.0000
0.5000
37
34
31
28
25
22
19
16
13
10
7
4
1
0.0000
-0.5000
-1.0000
fc=1KHz
fc=333 Hz
-1.5000
fc=1,8 fs
fc=50 Hz
fc=110 Hz
..Un errato campionamento ha generato una
frequenza differente da quella del segnale
(freq. di aliasing)
Pulse Code Modulation
Campionamento (Hz) Bit
Mono/Stereo Occupazione
Bitrate Kb/s
8.000
8
8/ 16
8.000
16
16/ 31
11.025
8
11/ 22
11.025
16
22/ 43
22.050
8
22/ 43
22.050
16
46/ 86
44.100
8
43/ 86
44.100
16
86/172
• Il teorema di Shannon-Nyquist e la frequenza di campionamento
Dato un segnale continuo e a banda limitata esso è descritto
completamente dai suoi campioni, se essi sono presi ad una
frequenza almeno doppia rispetto alla frequenza massima del
segnale
Es: Periodo T=37ms
f segnale=1/(37 ms)= 27 Hz
Volt
8 bit
in
ADC
DAC
clock
t [MilliSecondi]
Sample
Clock
f campionamento
?
Simulazione di un Segnale sinusoidale a frequenza 27 Hz campionato con
differenti frequenze di Campionamento (Sample)
fc=37 fs
1.5000
fc=10,5 fs
1.0000
0.5000
37
34
31
28
25
22
19
16
13
10
7
4
1
0.0000
-0.5000
-1.0000
fc=1KHz
fc=333 Hz
-1.5000
fc=1,8 fs
fc=50 Hz
fc=110 Hz
..Un errato campionamento ha generato una
frequenza differente da quella del segnale
(freq. di aliasing)
Spettro di un segnale
• Il campionamento introduce un aliasing: in pratica il
campionamento provoca “duplicazioni” dello spettro del
segnale. Se non si rispetta il teorema di Shannon l’aliasing
introdotto dal campionamento impedisce la ricostruzione del
segnale originale, in quanto due spettri adiacenti si
sovrappongono!
fc >2 fs
ADC
fs
freq
fs
fc
freq
Spettro di un segnale
L’effetto di un errato
campionamento, nell’ambito del
dominio delle frequenze
Per un buon funzionamento del
campionatore e per evitare
aliasing, si introduce un filtro
passa basso che limita lo spettro
del segnale di ingresso a fc >2 fs
fc <2 fs
Filtro PB
ADC
Il Convertitore Digitale – Analogico ( DAC )
• Il convertitore digitale-analogico è un componente elettronico utilizzato
per convertire dati numerici codificati in forma binaria in segnali elettrici.
• Il convertitore DAC accetta in ingresso un numero binario ad es. un
codice numerico con otto ingressi e fornisce all’uscita una tensione ad
esso proporzionale
• Si definisce risoluzione la distanza tra un livello e l’altro ed è indicata da
una costante di proporzionalità detta Quanto di tensione q dove: (8 bit in
ingresso)
q=VFS/256
con VFS =tensione di fondo scala in uscita
• In pratica si parte dalla tensione di fondo scala o di riferimento che viene
applicata esternamente e viene divisa ripetutamente per 2 mediante
blocchi divisori (pag. 38 fig. 3.4)
• Tutti i segnali vengono condotti ad un blocco sommatore e il valore della
tensione in uscita sarà proporzionale al numero binario in ingresso.
Bit alto=1 -> chiusura del circuito -> passaggio del segnale VFS / 2n
Bit basso=0 -> apertura del circuito -> il segnale viene bloccato
Significato e importanza del quanto q
• Il quanto q è una costante di proporzionalità che rappresenta il valore
minimo di tensione che può costituirsi all’uscita del DAC.
• q rappresenta anche l’intervallo di tensione tra due livelli digitali successivi
• Nella conversione la tensione di uscita varierà non in modo continuo (caso
ideale) ma in modo discreto tuttavia senza perdita di informazione.
• q indica l’accuratezza della conversione, detta risoluzione:
q piccolo significa una maggiore risoluzione (precisione)
es. si vuole convertire un range di tensione da 0 a 10,24Volt con 8 bit
si avranno dei gradini di tensione pari a 10,24/256= 40 mV quindi
una risoluzione q = 40 mV
• All'aumentare della risoluzione, però, corrisponde un maggior numero di
elaborazioni per ottenere la tensione d'uscita; in altre parole, più è elevata la
risoluzione del DAC e più la sua elaborazione ne risulterà rallentata.
• La scelta della risoluzione dovrà obbligatoriamente tenere conto della
velocità del dispositivo impiegato, rispetto all'utilizzo al quale è destinato.
Digitale  Analogico
Conversione analogico – digitale ( ADC )
• Un convertitore analogico-digitale, detto ADC (analog to digital converter)
trasforma i valori di un segnale d’ingresso V(t) in valori digitali (numeri binari)
aventi una quantità finita di cifre.
• Per effettuare la conversione occorre un tempo detto di conversione Tconv
• Al convertitore devono affluire i valori del segnale campionato
Conversione analogico - digitale - La qualità della conversione..
Segnale in forma
numerica + errore
di quantizzazione
Vin
ADC
DAC
8 bit
Segnale
8 bit  28=256 livelli Esempio:
analogico dal
• Vin max=3 Volt => Risoluzione 3/256 = 0.01Volt
trasduttore
• Vin max=10Volt => Risoluzione 10/256 = 0.04Volt
Vmax / 2n : intervallo di quantizzazione
Segnale analogico
ricostruito dal DAC
intervallo di
quantizzazione
Dove n è il numero di bit del campionatore
Con risoluzione maggiore di 8 bit avremmo ottenuto un risultato affetto
da minor errore di quantizzazione.
Analogico  Digitale
Fine
• La larghezza di banda (di una trasmissione, di un segnale o di un canale di
comunicazione) è la velocità di trasmissione dell'informazione.
•Nel caso delle comunicazioni digitali la banda si misura direttamente in bit al
secondo (kbit/s, Mbit/s ecc.), mentre per le comunicazioni analogiche la banda si
misura in modo indiretto, ed è data dall'intervallo di frequenze occupato dal segnale:
per esempio, una comunicazione telefonica analogica occupa le frequenze che vanno
da 300 a 3400 Hz, quindi ha una banda di 3100 Hz (cioè 3400 - 300).
• L'intervallo di frequenze è strettamente correlato alla quantità di informazione che
può fluire attraverso un canale, in base al teorema del campionamento di NyquistShannon.
• Per banda di un canale di comunicazione (qualsiasi) si intende la sua massima
velocità di trasmissione, cioè la massima quantità di informazione che esso può
trasmettere nell'unità di tempo (massima banda disponibile).
• Per banda di un segnale (qualsiasi) si intende invece la minima velocità di
trasmissione necessaria perché possa essere trasmesso senza errori o distorsione
(minima banda necessaria).
• Nel caso delle comunicazioni digitali il concetto è semplice mentre nel caso
analogico il significato di banda è più articolato ed ha a che fare con i limiti di
frequenza e con il rumore di fondo.