Sei sulla pagina 1di 15

ALGORITMO MPEG-1

LAYER III (MP3)


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