Perché un codificatore MP3 utilizza una trasformata di Fourier veloce prima di applicare il modello psicoacustico?


8

Karlheinz Brandenburg raffigura un codificatore MP3 come questo:

Schema a blocchi di un codificatore MP3

Fonte: Spiegazione di MP3 e AAC

Ho segnato la FFT perché non sono del tutto sicuro del motivo per cui è effettivamente necessario eseguirne una. Perché il modello psicoacustico non può essere applicato alle cosiddette linee dopo la trasformazione del coseno discreto modificata (MDCT) senza eseguire una FFT?

Ho un po 'di letteratura qui, dicendo che la risoluzione della frequenza non è abbastanza accurata. Ciò significa che la divisione del segnale originale in 576 linee (come fanno la banca del filtro e l'MDCT) non è abbastanza precisa per il corretto funzionamento del modello psicoacustico? La FFT è più accurata?


Il filtro bank e il canale MDCT sono la fonte di errore che il modello psico-acustico sta cercando di minimizzare, cioè il canale superiore è in perdita. Dai numeri che guardano a destra - 1024 componenti di frequenza nel segnale vero rispetto a 576 nella pipeline di compressione.
KWillets,

Risposte:


8

Vorrei suggerire una spiegazione più dettagliata del codec mp3 .

FFT viene applicato sul segnale del dominio del tempo, quindi in realtà non utilizza il risultato dell'MDCT. L'input per i modelli psicoacustici è nel dominio della frequenza, quindi la FFT.

Ci sono almeno diversi motivi per farlo. L'MDCT con i banchi filtro opera su blocchi sovrapposti molto corti, massimizzando la compressione: la FFT utilizza campioni più lunghi e ha una migliore risoluzione spettrale. (È difficile fare un confronto perché MDCT funziona come una trasformazione a breve termine; se questo è di grande importanza per te, dovrò fare questo confronto.)

Puoi pensare al filtro bank MDCT allo stesso modo della quantizzazione JPEG (è un'analogia molto buona, poiché entrambi usano DCT) e FFT per rilevare artefatti DCT dalla compressione. Quindi, il modello psicoacustico smussa gli errori al di sotto della soglia "sopportabile", ma per fare ciò, i campioni di dominio del tempo (qui PCM - Modulazione del codice di impulso non è sufficiente, perché i repentini cambi di frequenza vengono percepiti come crepe) - quindi utilizza il dominio della frequenza per rilevare tali discontinuità e quindi uniformarlo nel dominio del tempo.

Due cose non sono spiegate negli articoli ma sono cruciali. Quando le differenze PCM sono elevate, l'altoparlante ha una maggiore distanza da percorrere, quindi c'è un ritardo e, a seconda delle capacità dell'altoparlante, potrebbe causare vibrazioni aggiuntive, che sono rumori abbastanza distinti dall'altoparlante. La seconda parte è tra le linee, la versione quantizzata del segnale viene riconvertita per confrontarla con il suono originale e verificare quanto devia.

In base al tipo di mascheramento delle finestre (basato sul confronto tra FFT e MDCT invertito) viene scelto per compensare meglio le deviazioni udibili dall'originale.

Gli umani percepiscono i cambiamenti di frequenza meglio dei cambiamenti di ampiezza, quindi il filtro opera contemporaneamente in entrambi i domini e il segnale quantizzato viene invertito e il livellamento viene eseguito nel dominio del tempo.

Sì, la risoluzione di MDCT con i bank di filtri non è sufficiente, ma questa è la parte in cui avviene una buona parte della compressione e quindi viene mascherata. Ma il modello psicoacustico ha una risoluzione spettrale come indicato nel documento.

Sì, FFT è più preciso perché ottiene campioni più lunghi, quindi ha una migliore risoluzione tra i bin.

Nota a piè di pagina
Il (M) DCT viene comunemente implementato eseguendo FFT, quindi questo non ha nulla a che fare con la trasformazione utilizzata. MDCT può essere visto come una trasformata di Fourier a breve termine modificata con un filtro appositamente scelto (i banchi filtro assomigliano alla scala Mel per il riconoscimento vocale).

FFT viene utilizzato più a lungo, fornisce algoritmi più semplici per il pitch shifting ed è più facile da applicare al suono. (M) DCT minimizza il numero di componenti, il che significa che possiamo tagliare più dati dal risultato che da FFT.

Ma nel caso del suono quei componenti non sono stabili, tagliando sempre, ad esempio, due scomparti, si otterrà un disordine maggiore tra i frame consecutivi rispetto a un'operazione equivalente sui risultati FFT. Quindi, la connessione tra FFT e ciò che ascoltiamo è più grande di (M) DCT e ciò che sentiamo, ma la compressione disponibile è il contrario.

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.