AC3 Enkoder

AC3 Enkoder

Das PCM-Eingangssignal wird in einem Puffer in Blöcke zu je 512 Samples eingeteilt und dann verarbeitet. Ein Hochpaß bei 3 Hz sorgt für die Elimination eines möglichen Gleichspannungsanteiles. Des weiteren wird in der ersten Filterstufe der Subwoofer-Kanal mit 120 Hz als oberer Grenzfrequenz ausgefiltert.

AC3 EncoderParallel dazu wird das gefilterte Breitbandsignal mittels eines Hochfrequenz-Bandpaßfilters analysiert, um sog. Transienten zu ermitteln. Mit dieser Information wird die Blockgröße der TDAC-Filterbank festgelegt, um damit das Quantisierungsrauschen zu begrenzen, das innerhalb einer kleinen zeitlichen Nähe zu den Transienten entsteht.

In der nachfolgenden Filterbank wird das Signal in Teilbänder zerlegt. Jedoch erfolgt hier zusätzlich eine Transformationscodierung. Dazu wird das Signal mittels einer FFT (Fast Fourier Transformation) oder ggf. auch einer MDCT (Modified Discrete Cosinus Transformation) in den Frequenzbereich transformiert. Eine Verarbeitung im Frequenzbereich hat den Vorteil, dass sich die transformierte Darstellung nur sehr langsam ändert und die Signale daher seltener übertragen werden müssen.

Die Transformation verwendet dazu Eingangsblöcke mit 512 oder 256 Samples. Bei geringer zeitlicher Änderung im Signal werden Blöcke mit 512 Samples eingesetzt. Eine Transformation mit kurzen Blöcken wird dagegen genutzt, wenn sich der Signalinhalt schnell ändert (schnelle Transienten). Die jeweilig verwendete Blocklänge wird zusätzlich als Nebeninformation dem Decoder übertragen (transient flags). Die transformierten Blöcke überlagern sich dabei zu 50%, damit auch an den Blockgrenzen eine optimale Codierung ohne Fehler gewährleistet wird.

Die Transformationskoeffizienten werden bei AC3 anschließend in eine Gleitkommadarstellung überführt, um als Mantisse und Exponent getrennt voneinander weiterverarbeitet zu werden.

Der Vorteil einer Gleitkommadarstellung liegt u.a. darin, dass man keine führenden Nullen von Zahlen weiterverarbeiten muß und sich der Dynamikumfang des Signals während der Weiterverarbeitung quasi nicht einschränkt.

KopfhörerWie bereits erwähnt, nutzen moderne Codierungen die Gehöreigenschaften des menschlichen Ohre zur Reduktion der Daten. Speziell bei hohen Frequenzen ergibt sich dabei die Möglichkeit, Daten zu reduzieren. Einer der Gründe liegt darin, dass hohe Frequenzen nicht direkt wahrgenommen werden können. Statt dessen hört der Mensch nur die sog. Einhüllende (envelope), also die Differenz zwischen den Frequenzen. Aus diesem Grund wird das Signal für hohe Frequenzen in eine Träger- (carrier) und Einhüllenden-Information (envelope) aufgespaltet. Die wahrnehmbare Einhüllende wird dabei mit hoher Bitrate quantisiert, da sie wichtige Daten enthält. Der Carrier wird dagegen mit geringer Bitrate quantisiert. Die Carrier können ggf. selektiv über mehrere Kanäle zusammengefaßt (sog. Coupling) werden. Die notwendigen Informationen, welche Carrier zusammengefaßt wurden, werden durch die sog. Coupling Coefficients dem Decoder übermittelt.

Die globale Bit-Allokation sorgt anschließend für eine Steuerung der optimalen Bitrate während der Quantisierung der Mantissen der Filterbank-Koeffizienten. Die Steuerung erfolgt auf Basis der Exponenten, die als Skalierungsfaktoren für die Mantissen dienen. Die Berechnung der optimalen Bitrate erfolgt dann anhand des psychoakustischen Modells. Die Bitrate wird dabei global, d.h. über alle Kanälen, betrachtet. Kanäle mit hoher Datendichte müssen höher quantisiert werden, während geringe Datendichten durch eine geringere Quantisierung codiert werden können. Somit ist es möglich, die globale Datenrate annähernd konstant zu halten. Informationen über die Bit-Allokationsstrategien werden als zusätzliche Informationen an den Decoder übertragen.

Die so entstandenen Nutz- und Steuerdaten werden zusammen mit Fehlerkorrektur- und Synchronisationsdaten in einen Multiplexer gepackt und können so zum Decoder übertragen werden.