AC3 Dekoder

Der AC3 Decoder arbeitet ebenfalls blockorientiert. Somit ist zunächst ein Eingangspuffer realisiert, in den ein kompletter Codeblock eingelesen werden kann, bevor die Daten weiterverarbeitet werden. Im Anschluß an die Zerlegung in Codeblöcke erfolgt eine Prüfung von möglichen Übertragungsfehlern. Dazu sind Informationen zur Fehlerkorrektur den Statusinformationen beigefügt.

AC3 DecoderIst ein Fehler trotzdem nicht zu beheben, so wird durch mehrfaches Wiederholen des letzten korrekten Blocks die Zeit überbrückt, bis ein weiterer korrekter Block übertragen wird. Die Signalrekonstruktion auf Basis eines Overlap/Add Algorithmus begünstigt dabei die Möglichkeit, Blöcke für einen gewissen Zeitraum ohne meßbare Qualitätseinbußen zu wiederholen. Bei länger anhaltenden Fehlern besteht dann für einen Decoder nur noch die Möglichkeit, den Ton stumm zu schalten. In einigen Fällen, wie bei Filmsoundtracks, existiert noch eine separate analoge Audiotonspur, auf die anstelle einer Stummschaltung umgeschaltet werden kann.

Das Entpacken der Daten erfolgt in mehreren Stufen. Zunächst werden alle statischen Daten entpackt. Dazu gehören neben den noch codierten Mantissen die Exponenten, die Coupling Coefficients und die Mode Flags. Unter Zurhilfenahme dieser Daten können dann die Daten der Bit-Allokation zurückgewonnen werden. Damit lassen sich dann alle variablen Daten entpacken, zu denen die Filterbank-Koeffizienten, d.h. die TDAC-Mantissen gehören.

Die Bit-Allokation im Decoder ist nahezu identisch mit der des Encoders. Durch die inkludierten Steuerdaten ist dabei eine inverse Bit-Allokation gewährleistet. Die so gewonnenen Daten werden genutzt, um in einer nachfolgenden Unpacking-Stufe die variable Mantisse zu dekodieren. Die separat kodierten Envelope- und Carrier-Daten werden unter Zurhilfenahme der Coupling-Koeffizienten wieder zusammengefügt. Im Anschluß daran werden aus den Fließkommadaten wieder Festkommawerte erzeugt, indem Mantissen und Exponenten zusammengebracht werden. Abschließend wird dann die inverse Filterung in der inversen TDAC-Filterbank durchgeführt. Hier erfolgt eine Rücktransformation in den Zeitbereich durch Fensterung und Overlap/Add-Techniken. Damit wird das digitale Ausgangssignal wieder hergestellt.