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 nel tempo => bit rate => memoria 2
Qualità richiesta? La qualità dipende dall applicazione finale:... CDLike... 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: Br = fc* b [bit/s] Occupazione Memoria: Br*sec [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) Segnale Errore di Predizione Errore di Predizione Quantizzato Segnale Quantizzato + Quantizzatore + + 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 x 1...k y 1...k 10
. quantizzazione vettoriale (2) Quantizzatore scalare uniforme 1D 8 livelli y=q(x) -1-0,75-0,5-0,25 0 0,25 0,5 0,75 1 x. quantizzazione vettoriale (3) Quantizzatore scalare uniforme 2D 64 livelli y=q(x) 1 x 2 0,75 0,5 0,25 X 2 0-0,25-0,5-0,75 x 1-1 -1-0,75-0,5-0,25 0 0,25 0,5 0,75 1 X 1 11
. quantizzazione vettoriale (4) Vettori di prova x (dipendenza statistica fra x 1 e x 2 ) 1 0,75 0,5 0,25 X 2 0-0,25-0,5-0,75-1 -1-0,75-0,5-0,25 0 0,25 0,5 0,75 1 X 1. 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 Decodifica Canale o Memoria 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 50 Soglia in quiete Soglia mascheramento 40 Pressione Sonora [db] 30 20 10 Diversa sensibilità alle diverse frequenze Mascheramento da parte di altri suoni. 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 Decodifica Canale o Memoria 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