Warum verwendet ein MP3-Encoder eine schnelle Fourier-Transformation, bevor er das psychoakustische Modell anwendet?


8

Karlheinz Brandenburg zeigt einen MP3-Encoder wie folgt:

Blockschaltbild eines MP3-Encoders

Quelle: MP3 und AAC erklärt

Ich habe die FFT markiert, da ich nicht ganz sicher bin, warum es tatsächlich notwendig ist, eine durchzuführen. Warum kann das psychoakustische Modell nach der modifizierten diskreten Cosinustransformation (MDCT) nicht auf die sogenannten Linien angewendet werden, ohne eine FFT durchzuführen?

Ich habe hier Literatur, die besagt, dass die Frequenzauflösung nicht genau genug ist. Bedeutet dies, dass die Aufteilung des ursprünglichen Signals in 576 Zeilen (wie bei der Filterbank und der MDCT) nicht genau genug ist, damit das psychoakustische Modell ordnungsgemäß funktioniert? Ist die FFT genauer?


Die Filterbank und der MDCT-Kanal sind die Fehlerquelle, die das psychoakustische Modell zu minimieren versucht, dh der obere Kanal ist verlustbehaftet. Aus den Zahlen, die ungefähr richtig aussehen - 1024 Frequenzkomponenten im wahren Signal im Vergleich zu 576 in der Komprimierungspipeline.
KWillets

Antworten:


8

Ich würde eine detailliertere Erklärung des MP3-Codecs vorschlagen .

FFT wird auf das Zeitdomänensignal angewendet, sodass das Ergebnis aus der MDCT nicht verwendet wird. Die Eingabe in die psychoakustischen Modelle liegt im Frequenzbereich, daher die FFT.

Es gibt mindestens mehrere Gründe dafür. MDCT mit Filterbänken arbeitet mit sehr kurzen überlappenden Blöcken, wodurch die Komprimierung maximiert wird. Die FFT verwendet längere Abtastwerte und hat eine bessere spektrale Auflösung. (Es ist schwer zu vergleichen, da MDCT als kurzfristige Transformation fungiert. Wenn dies für Sie von großer Bedeutung ist, muss ich diesen Vergleich durchführen.)

Sie können sich Filterbank-MDCT genauso vorstellen wie JPEG-Quantisierung (dies ist eine sehr gute Analogie, da beide DCT verwenden) und FFT, um DCT-Artefakte durch Komprimierung zu erkennen. Dann glättet das psychoakustische Modell die Fehler, um unter die "hörbare" Schwelle zu fallen, aber dazu werden die Zeitbereichsabtastwerte (hier reicht PCM - Pulse Code Modulation nicht aus, da plötzliche Frequenzverschiebungen als Risse zu hören sind) - also Es verwendet den Frequenzbereich, um solche Diskontinuitäten zu erkennen und sie dann im Zeitbereich zu glätten.

Zwei Dinge werden in Artikeln nicht erklärt, sind aber entscheidend. Wenn die PCM-Unterschiede hoch sind, hat der Lautsprecher eine größere Reichweite, sodass es zu einer Zeitverzögerung kommt. Abhängig von den Fähigkeiten des Lautsprechers kann dies zu zusätzlichen Vibrationen führen, bei denen es sich um ganz andere Geräusche als beim Lautsprecher handelt. Der zweite Teil befindet sich zwischen den Zeilen. Die quantisierte Version des Signals wird zurücktransformiert, um es mit dem Originalton zu vergleichen und zu überprüfen, wie stark es abweicht.

Basierend auf dem Maskierungstyp der Fenster (basierend auf dem Vergleich von FFT und invertierter MDCT) wird ausgewählt, um hörbare Abweichungen vom Original besser zu kompensieren.

Menschen nehmen Frequenzverschiebungen besser wahr als Amplitudenänderungen, so dass der Filter in beiden Bereichen gleichzeitig arbeitet und das quantisierte Signal umgekehrt wird und die Glättung im Zeitbereich erfolgt.

Ja, die Auflösung von MDCT mit Filterbänken reicht nicht aus, aber dies ist der Teil, in dem ein angemessener Anteil der Komprimierung stattfindet und der dann maskiert wird. Das psychoakustische Modell hat jedoch eine spektrale Auflösung, wie in der Arbeit angegeben.

Ja, FFT ist genauer, da es längere Abtastwerte erhält und daher eine bessere Auflösung zwischen den Bins aufweist.

Fußnote
Die (M) DCT wird üblicherweise durch Ausführen einer FFT implementiert, daher hat dies nichts mit der verwendeten Transformation zu tun. MDCT kann als bitmodifizierte Kurzzeit-Fourier-Transformation mit einem speziell ausgewählten Filter angesehen werden (die Filterbänke ähneln der Mel-Skala für die Spracherkennung).

FFT wird länger verwendet, bietet einfachere Algorithmen für die Tonhöhenverschiebung und ist einfacher auf den Sound anzuwenden. (M) DCT minimiert die Anzahl der Komponenten, was bedeutet, dass wir mehr Daten aus dem Ergebnis als aus der FFT herausschneiden können.

Im Fall von Sound sind diese Komponenten jedoch nicht stabil. Wenn Sie immer z. B. zwei Bins herausschneiden, wird die Verzerrung zwischen aufeinanderfolgenden Frames größer, als wenn Sie mit FFT-Ergebnissen gleichwertig arbeiten. Die Verbindung zwischen FFT und dem, was wir hören, ist also größer als (M) DCT und was wir hören, aber die verfügbare Komprimierung ist umgekehrt.

Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.