Compressione del Segnale (Audio) Argomenti della Presentazione

Transcript

Compressione del Segnale (Audio) Argomenti della Presentazione
Compressione del Segnale (Audio)
Carlo Caini e Alessandro Vanelli Coralli
Argomenti della Presentazione
Introduzione
– Perché comprimere
– Come comprimere
Esempi di Algoritmi di compressione
– Codifiche predittive (ADPCM)
– Quantizzazione Vettoriale
– Codifica a sottobande
Conclusioni
1
Perché comprimere...
Per trasmettere un
segnale (Audio) la
quantità di risorse
necessarie alla
trasmissione è funzione
della qualità richiesta, e
a volte può essere
eccessivamente onerosa
Trasmissione
?
Trasmettere = trasferire informazione (Audio)
nello spazio
=> bit rate
nel tempo
=> memoria
2
Qualità richiesta ?
La qualità dipende dall’applicazione finale:
– ....
– CD Like
– .....
– Telefonica
– ....
– GSM
– .....
La conversione Analogica Digitale
Segnale
analogico
Campionamento
Quantizzazione
e
codifica
Segnale
digitale
conversione A/D
3
…parametri disponibili nella
conversione A/D
frequenza di campionamento
(fc)
num. bit per la quantizzazione
(b)
massima frequenza del segnale
rappresentabile
distorsione introdotta sul
segnale
Bit Rate:
Occupazione Memoria:
Br = fc* b
Br*sec
[bit/s]
[bit]
Esempi di conversione A/D
frequenza di campionamento
CD
44.100 KHz => Banda
segnale fino a 22 KHz
Telefonia
8 KHz => Banda segnale
fino a 4 kHz
Qualità CD:
– bit rate di 705 Kbit/s
– 5 Mbyte per minuto di
registrazione
num. bit per la quantizzazione
CD
16 bit/camp =>
SNR > 90 dB
Telefonia
8 bit/camp =>
SNR < 40 dB
Qualità telefonica
– bit rate 64 Kbit/s
– 0.5 Mbyte per minuto di
registrazione
4
... altri esempi
Qualità ADPCM
bit rate 32 Kbit/s
0.25 Mbyte per minuto di
registrazione
Qualità GSM Full-Rate
bit rate 13 Kbit/s
0.097 Mbyte per minuto
di registrazione
... e allora ...
....per limitare la richiesta di risorse e mantenere
una elevata qualità è necessario
COMPRIMERE il segnale,
cioè ridurre l’informazione trasmessa alla sola
indispensabile per garantire la qualità richiesta.
5
Argomenti della Presentazione
Introduzione
– Perché comprimere
– Come comprimere
Esempi di Algoritmi di compressione
– Codifiche predittive (ADPCM)
– Quantizzazione Vettoriale
– Codifica a sottobande
Conclusioni
Codifica con perdite
Quantizzazione non uniforme
– Intervalli adattati alla densità di probabilità dei campioni
Codifiche predittive (DPCM, ADPCM)
– Si sfrutta la correlazione fra campioni vicini
Quantizzazione vettoriale
– Intervalli adattati alla densità di probabilità
– Si sfrutta la correlazione fra campioni vicini
– Si sfrutta la migliore ricopertura dello spazio
6
Codifica senza perdite
I campioni quantizzati possono contenere della
ridondanza
– Non uniforme distribuzione
– Correlazione
Posso inserire dopo il quantizzatore uno stadio di
codifica entropica
– Codifica di Huffman
– Codifica aritmetica
La codifica entropica non introduce perdite ma
richiede dei buffer
Codifica percettiva
Due segnali possono risultare:
– oggettivamente diversi (se li confronto con degli strumenti)
– soggettivamente uguali (se li confronto “a orecchio” o “ad
occhio”)
La codifica percettiva sfrutta le caratteristiche peculiari
dell’orecchio umano
– mascheramento in frequenza
– mascheramento temporale
Ottenendo una codifica con:
– basso SNR
– alta qualità soggettiva
7
Argomenti della Presentazione
Introduzione
– Perché comprimere
– Come comprimere
Esempi di Algoritmi di compressione
– Codifiche predittive (ADPCM)
– Quantizzazione Vettoriale
– Codifica a sottobande
Conclusioni
Codifiche Predittive...
8
...esempio: DPCM (ADPCM)
Errore
di Predizione
Segnale
+
Errore
di Predizione
Quantizzato
Quantizzatore
Segnale
Quantizzato
+
+
Predittore
Predittore
Argomenti della Presentazione
Introduzione
– Perché comprimere
– Come comprimere
Esempi di Algoritmi di compressione
– Codifiche predittive (ADPCM)
– Quantizzazione Vettoriale
– Codifica a sottobande
Conclusioni
9
Codifiche a Blocchi....
…esempio: quantizzazione
vettoriale (1)
la quantizzazione non si effettua su singoli
campioni, ma su sequenze (vettori) di campioni
X
Y
1..............k
x
1..............k
y
10
.…quantizzazione vettoriale (2)
Quantizzatore scalare uniforme 1D 8 livelli y=q(x)
-1
-0,75
-0,5
-0,25
0
x
0,25
0,5
0,75
1
.…quantizzazione vettoriale (3)
Quantizzatore scalare uniforme 2D 64 livelli y=q(x)
1
x2
0,75
0,5
0,25
X2
0
-0,25
-0,5
-0,75
-1
x1
-1
-0,75
-0,5
-0,25
0
0,25
0,5
0,75
1
X1
11
.…quantizzazione vettoriale (4)
Vettori di prova x (dipendenza statistica fra x1 e x2)
1
0,75
0,5
0,25
X2
0
-0,25
-0,5
-0,75
-1
-1
-0,75
-0,5 -0,25
0
0,25
0,5
0,75
1
X1
.…quantizzazione vettoriale (5)
Posso suddividere più finemente lo spazio dove
effettivamente si collocano i vettori in ingresso
– minore distorsione
In alternativa, a parità di distorsione posso
ridurre il numero delle aree di quantizzazione,
ovvero il numero degli elementi del codebook
– compressione
– Esempio: dim. vett. =4; Br=25 Kb/s
12
Argomenti della Presentazione
Introduzione
– Perché comprimere
– Come comprimere
Esempi di Algoritmi di compressione
– Codifiche predittive (ADPCM)
– Quantizzazione Vettoriale
– Codifica a sottobande
Conclusioni
Codifica percettiva dei segnali
audio...
13
…basata sulla codifica a
Sottobande o per Trasformate
Schema di un sistema di codifica a
sottobande
Codifica
Modello Percezione
Uditiva
Allocazione
Dinamica Bit
Canale
o
Memoria
Decodifica
Allocazione
Dinamica Bit
14
Perché la codifica a sottobande ?
Per sfruttare i fenomeni di mascheramento
percettivo nelle frequenze:
– si individua una soglia variabile in frequenza sotto
la quale il rumore di quantizzazione non viene
percepito
– si scompone il segnale in sottobande
– si codifica ogni sottobanda con un diverso numero
di bit di quantizzazione in modo che il rumore di
quantizzazione rimanga sotto la soglia di udibilità
Sensibilità e Mascheramento in
frequenza
60
Soglia in quiete
Soglia mascheramento
50
Pressione Sonora
[dB]
40
Diversa sensibilità alle
diverse frequenze
Mascheramento da parte di
30
20
altri suoni
10
.
0
-10
0.02
0.05
0.1
0.4
1.0
2.7
7.1
18.9
Frequenza [kHz]
15
Distribuzione non uniforme dei bit di
codifica
Componenti spettrali
– Soglia bassa=> maggiore precisione => più bit
– Soglia alta=> minore precisione => meno bit
La distorsione viene concentrata sulle componenti
spettrali maggiormente mascherate e/o alle quali
l’orecchio è meno sensibile
Albero di Suddivisione Ricomposizione
16
Allocazione dinamica dei bit
Lo spettro del segnale audio cambia nel tempo
La distribuzione dei bit di codifica fra le varie
componenti spettrali deve essere aggiornata
continuamente
– Per i segnali vocali circa ogni 30 ms
– Per i segnali musicali circa ogni 10 ms
Schema di un sistema di codifica a
sottobande
Codifica
Modello Percezione
Uditiva
Allocazione
Dinamica Bit
Canale
o
Memoria
Decodifica
Allocazione
Dinamica Bit
17
Argomenti della Presentazione
Introduzione
– Perché comprimere
– Come comprimere
Esempi di Algoritmi di compressione
– Codifiche predittive (ADPCM)
– Quantizzazione Vettoriale
– Codifica a sottobande
Conclusioni
Risultati...
allo stato attuale della ricerca Bit Rate di circa
64 kbit/s con qualità inalterate rispetto a CD
fattore di compressione rispetto a CD circa 10
– Esempi:
Brazil (diapositiva titolo)
Blame It On (associata a
questa diapositiva)
Nessun dorma (fra due
diapositive)
18
Sviluppi....
Modelli psicoacustici
Implementazioni efficienti
PER
Riduzione Bit rate sotto i 64kbit/s
il tutto senza perdita di qualità soggettiva
Attività
19
Fine
20