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