MP3-Decodierungsalgorithmus. Teil 2


Free Download Mp4Gain
picture

MP3-Decodierungsalgorithmus. Teil 2

MP3 decoding algorithm

Synchronisierung und Fehlerprüfung beinhalten ein Header-Informations-Decodierungsmodul.

MP3 decoding algorithm

Nachdem das Hauptsteuermodul zu arbeiten beginnt, leitet das Hauptsteuermodul den Datenpuffer des Bitstroms an das Synchronisations- und Fehlerprüfmodul weiter. Dieses Modul enthält zwei Funktionen, nämlich Decodierung von Header-Informationen und Frame-Decodierung. Decodierung von Seiteninformationen, Skalierungsfaktor-Decodierung und Huffman-Decodierung werden gemäß Ihren Informationen durchgeführt, und die erhaltenen Ergebnisse werden nach inverser Quantisierung, Stereo-Decodierung, Alias-Reduktion, IMDCT, Frequenz erhalten Inversion und synthetische Polyphasenfilterung. des linken und rechten Kanals wird dann vom Hauptsteuermodul in den Ausgangspuffer gelegt und an das Tonwiedergabegerät gesendet (kurz gesagt, es ist sehr kompliziert).

2. Hauptsteuermodul
Die Hauptaufgabe des Hauptsteuermoduls besteht darin, die Eingangs- und Ausgangspuffer zu betreiben und andere Module zur Zusammenarbeit aufzurufen. Darunter werden die Eingangs- und Ausgangspuffer von der DSP-Steuermodulschnittstelle bereitgestellt.

Die Daten im Eingangspuffer sind der ursprüngliche mp3-komprimierte Datenstrom, und das DSP-Steuermodul stellt jedes Mal, wenn er zu einem neuen Puffer verkettet wird, einen Puffer bereit, der größer als die maximal mögliche Rahmenlänge ist.

Die im Ausgangspuffer gespeicherten Daten sind die decodierten PCM-Daten, die die Amplitude des Tons darstellen. Er besteht aus einem Puffer fester Länge.Das Aufrufen der Schnittstellenfunktion des DSP-Steuermoduls gibt den Hauptzeiger zurück.Nachdem der Ausgangspuffer gefüllt ist, wird die Interrupt-Verarbeitung aufgerufen,um an den Audio-ADC-Chip (DAC-Stereo-Audio und ADC-Audio) zu senden, der mitdem verbunden ist I2S-Schnittstelle. DirectDrive-Kopfhörerverstärker) zur Ausgabe von analogem Ton.

3. Synchronisation und Fehlererkennung
Das Fehlererkennungs- und Synchronisationsmodul wird hauptsächlich verwendet, um die Position des Datenrahmens im Bitstrom zu finden und den Rahmenkopf, den CRC-Prüfcode und die Rahmenseiteninformationen von dieser Position zu dekodieren, und die Dekodierergebnisse werden für nachfolgende Skalierungsfaktoren verwendet. Decodermodul und Huffman-Decodermodul. Das Hauptdatenformat des Mpeg1-Layer-3-Streams ist in der folgenden Abbildung dargestellt:

Stammdaten-Flussdiagramm

Darunter stellen granule0 und granule1 die Granularitätsgruppe 1 und die Granularitätsgruppe 2 in einem Frame dar, channel0 und channel1 stellen zwei Kanäle in einer Granularitätsgruppe dar, scalefactor ist der quantisierte Wert von scale factor ist der quantisierte Huffman-Codierungswert, der sich aufteilt für große Werte ​​und count1 1 Wertebereich

CRC-Prüfung: Ausdruck ist X16+X15+X2+1

3.1 Rahmensynchronisation
Der Zweck der Frame-Synchronisation besteht darin, die Position des Frame-Headers im Bitstrom herauszufinden. Gemäß ISO 1172-3 hat der MPEG1-Frame-Header 12 Bit „1111 1111 1111“, und die zwei benachbarten Frame-Header sind durch Bytes mit gleichem Abstand voneinander getrennt.


Free Download Mp4Gain
picture