ROCCO FAZZOLARI MASTER IN INGEGNERIA DEL SUONO UNIVERSIT DI ROMA TOR VERGATA ENCODER Lavora su frames composti da 1152 campioni audio Ciascun frame viene suddiviso in due sub-frames da 572 campioni (granuli) Il bitstreamche viene generato composto da 5 parti: Header (32 bits contenenti le info di sincronizzazione e di stato del file); CRC (16 bits per la rilevazione di errori); Side Information (17 bytes per singolo canale o 32 bytes per doppio canale, utili per la decodifica); Main Data (contiene i campioni audio codificati con la codifica di Huffman); Ancillary Data (alcune informazioni definite dallutente non obbligatorie; il numero di bit disponibili per questo campo la differenza tra i bit disponibile e quelli usati per i precedenti campi) Rocco Fazzolari - Codifica e compressione del segnale audio 2 BANCO DI FILTRI POLIFASE A 32 CANALI E SOTTOCAMPIONAMENTO Il banco di filtri polifase si occupa di effettuare una prima analisi in frequenza, dividendo lo spettro originale del segnale in 32 sotto-bande equi spaziate. Ciascun frame viene suddiviso in due sub-frames da 572 campioni (granuli) Dopo il filtraggio viene applicato un down-sampling di un fattore 32 (cio il di un valore pari al numero di canali del banco di filtri) Rocco Fazzolari - Codifica e compressione del segnale audio 3 STRUTTURA DEL BANCO DI FILTRI POLIFASE Composto da 32 filtri passabanda Struttura polifase Ciascun canale ha una larghezza di banda di circa 689 Hz Rocco Fazzolari - Codifica e compressione del segnale audio 4 RISPOSTA IN FREQUENZA DEL BANCO DI FILTRI Rocco Fazzolari - Codifica e compressione del segnale audio 5 OVERLAPPING Si consideri un singolo tono a 1500 Hz Ci si aspetterebbe che solo il canale 3 rilevi tale frequenza A causa delloverlapping delle bande dei filtri adiacenti, il tono viene rilevato anche sul canale 2 (anche se con ampiezza minore) Rocco Fazzolari - Codifica e compressione del segnale audio 6 MODIFIED DISCRETE COSINE TRANSFORMATE Riduce leffetto di aliasing introdotto dal sottocampionamento Si basa sul concetto di DCT, ma si utilizza questa tipologia Modificata poich si ha sovrapposizione delle bande Si usa solo per segnali reali ed equivale ad una DFT di lunghezza circa doppia Laccoppiata Banco di filtri polifase e blocco MDCT viene definita Banco di Filtri Ibrido Rocco Fazzolari - Codifica e compressione del segnale audio 7 MODIFIED DISCRETE COSINE TRANSFORMATE Le finestre vengono selezionate usando una misura di entropia percettiva fornita dal modulo di analisi psicoacustica. Rocco Fazzolari - Codifica e compressione del segnale audio 8 PSYCHO-ACOUSTIC ANALYSIS E il blocco pi importante della catena di compressione Emula la sensibilit del sistema uditivo umano ed evidenzia, in base a questa analisi, le componenti spettrali irrilevanti. Lo spettro del segnale da analizzare viene fornito dal blocco FFT (512 punti) Effettua unanalisi del rumore e toni mascheranti in funzione della loro frequenza ed intensit. LEncoder stima quale sia la soglia di mascheramento per ciascuna sotto-banda al di sotto della quale i segnali non possono essere percepiti dallorecchio umano. Rocco Fazzolari - Codifica e compressione del segnale audio 9 PSYCHO-ACOUSTIC ANALYSIS Le informazioni qui calcolate servono al blocco successivo per determinare la migliore rappresentazione del segnale usando un limitato numero di bit. Viene stimato il valore di Entropia Percettiva (PE), che viene utilizzata per la selezione delle finestre utilizzate nel blocco MDCT. Rocco Fazzolari - Codifica e compressione del segnale audio 10 ALLOCAZIONE DEI BIT, QUANTIZZAZIONE E CODIFICA Il processo di allocazione dei bits determina il numero di bits allocati per rappresentare ciascuna delle 32 sotto-bande tramite le informazioni fornite dal blocco di analisi psico- acustica. Il passo successivo la quantizzazione NON-uniforme delle linee spettrali provenienti dalla MDCT. I valori quantizzati vengono codificati tramite la codifica di Huffman. Rocco Fazzolari - Codifica e compressione del segnale audio 11 DECODER Serve a ricostruire il brano in formato PCM. Il bitstreamcontenente tutte le informazioni viene spacchettato in modo da ottenere tutte le informazioni contenute nellHeader, CRC, Side Information, Main Data e Ancillary Data Rocco Fazzolari - Codifica e compressione del segnale audio 12 COMPLESSIT DELLALGORITMO IN MATLAB Rocco Fazzolari - Codifica e compressione del segnale audio 13 Lanalisi della complessit stata effettuata utilizzando MATLAB per limplementazione sia dellencoder che del decoder COMPLESSIT DELLALGORITMO IN MATLAB Rocco Fazzolari - Codifica e compressione del segnale audio 14 Encoder Decoder COMPLESSIT DELLALGORITMO IN C Rocco Fazzolari - Codifica e compressione del segnale audio 15 Encoder Decoder