Ω  Einführung  Ω  Aufbau  Ω  Kompression  Ω  Codierung  Ω  Encoder  Ω  Glossary  Ω  Bookmarks  Ω  


mp3s.name wünscht allen ein frohes Fest...
...und einen guten Rutsch ins neue Jahr!

 

Struktur der MPEG-Kompression

Der Kompressionsalgorithmus der MPEG-Standards hat eine gemeinsame Basissturktur, der auch MP3 entspricht. Die MP3-Codierung unterscheidet sich allerdings in der Einbindung und Berechung des psychoakustischen Modells, sowie in der Unterteilung der Audiodaten in Subbänder in den verschiedenen Layern. Hier soll ein kurzer Überblick über den Basis-Codierungsprozess der Layer I und II gegeben werden:

Im ersten Schritt des Kompressionsprozesses wird das gesampelte Signal in Subbänder geteilt. Dieser Prozess wird auch als Zeit-Frequenz-Zuordnung bezeichnet.

Die nächste Stufe der Codierung ist, wie bereits gesagt, die Implementierung des psychoakustischen Modells, bei der die sogenannte Fast-Fourier-Transformation (FFT) zum Einsatz kommt, um detaillierte Informationen über das Signal zu erhalten, das in tonale und nicht-tonale Töne unterteilt wird. Die tonalen bzw. nicht-tonalen Signale werden den Tonmasken des psychoakustischen Modells zugeordnet und die individuellen Masken werden anhand ihrer Wahrnehmbarkeitsgrenzen zu einer gesamten Maskierungsgrenze zusammengefasst. Diese wird dann an das Maximale, in den Subbändern vorkommende, Signal-Level angepasst und eine sogenannte Signal-to-Mask-Rate (SMR) erzeugt, anhand der die Quantisierungsschwelle der zu komprimierenden Daten festgelegt wird.

Der dritte Schritt besteht aus der Quantisierung und der Encodierung jedes einzelnen Samples in den Subbändern, indem ein, der SMR entsprechender, Koeffizient berechnet wird.

Die letzte Stufe ist die endgültige Erzeugung der komprimierten Datei, wobei die digitalisierten Audiodaten in einzelne Frames unterteilt werden.

In Bezug auf MPEG1-Layer III geht die Codierung noch etwas mehr ins Detail und weist somit eine komplexere Struktur auf, als bei Layer I und II. Die Idee die dahinter steckt ist, den Datenstrom so gering wie möglich zu halten, was allerdings zu einer längeren Encodierungszeit bei der Erstellung der Datei führt. Vom Algorithmus her gesehen wird das Verfahren um folgende Schritte erweitert:

Neben der FFT kommt noch ein anderer Filter, die Discrete Cosine Transform Filter (DCTF) zum Einsatz. Mit dieser Methode kann eine bessere Performance und mehr Zuverlässlichkeit des psychoakustischen Modells erreicht werden.

In der letzten Phase, in der die Frames vorbereitet werden, ist ein komplexer Algorithmus hinzugefügt, der die Framegröße nach bestimmten Paramentern variiren lässt. Es wird auch das sogenannte "reserve Bit" gesetzt, dass eventuell auftretende kritische Verzerrungen bei der Encodierung des Samples verhindert.

to top

Die Subbandanalyse (TFT)

Bei der Form der MPEG-Codierung wird eine Subband-Analyse oder ein Time-to-Frequency Mapping durchgeführt, um die spektrale Energieverteilung zu determinieren. Das heißt, es wird festgestellt, wie die Bits am günstigsten auf die zu encodierenden Signale verteilt werden. Dabei überführt eine Filterbank das zu codierende Audiosignal vom Zeit- in den Frequenzbereich.

Während dieses Vorgangs wird das Eingangssignal in linearen Abständen von 0 bis zur Nyquistrate (Fs/2) in 32 Frequenzbänder (subbands) unterteilt. Bis zum Layer 2 der MPEG-Codierung hatten alle 32 Subbänder die selbe Größe von 625 Hz, ab Layer 3 wurden die Subbänder mit Hilfe eines polyphasen Filters an die Eigenschaften des menschlichen Gehörs angepasst. Im Grunde bedeutet das eine gleichzeitige Dezimierung und Filterung der Abtastwerte.

Jedes Subband stellt dabei einen bestimmten Ausschnitt des Frequenzspektrums dar. Das in Bänder zerlegte Audiosignal bietet dem Algorithmus deutlich mehr Angriffsfläche, als das uniforme Audiosignal. Der MP3-Encoder bearbeitet jedes Subband einzeln und untersucht es gemäß dem psychoakustischen Modell auf verzichtbare Frequenzen. Hierbei erfolgt eine Ermittlung der Maskierungsschwelle. Im ersten Schritt fallen die Subbänder weg, deren Pegel unterhalb dieser Verdeckungsfunktion liegen. Jedes Subband wird nun Abgetastet. Als Resultat erhält man 16-Bit-große Samples.

to top

Einbindung des psychoakustischen Modells

Um die durchgeführten Berechungen in einen wahrnehmbaren Bereich, der dem des menschlichen Gehörsystems entspricht, zu transformieren, werden die Unvorhersehbarkeitsmessungen und die Energie (unter Berücksichtigung kritischer Frequenzbänder) kombiniert. Nach diesem Schritt können sogenannte "spreading"-Funktionen eingebracht werden, die Eigenschaften des menschlichen Gehörs emulieren.

to top

Pre-Echo

Danach wird sowohl der Klang jedes kritischen Frequenzbandes als auch die benötigte SNR (Signal Noise Ratio) berechnet, um eine Maskierungsschwelle zu erreichen. Bei diesem Vorgang muss das Pre-Echo, ein Phänomen, das bei sämtlichen Transformierungssystemen, die Fenster verwenden, auftritt, eingestellt bzw. editiert werden. Das auftretende Problem beschreibt sich folgendermassen:

Findet sich innerhalb des Fensters ein schnelles, kurzes (durchlaufendes) Signal, breitet sich dieses bei der Detransformierung über das gesamte Fenster aus; da bei MP3-Codierung die Fenster überlappend sind, führt das zu einem Signalecho, welches vor dem eigentlichen Signal hörbar ist.

Dieser Effekt wird dadurch unter Kontrolle gebracht, dass man die Schwellen vorhergehender Granules analysiert. Ist jene Schwelle ausreichend niedriger als die aktuelle Schwelle, so wird sie verwendet.

Im nächsten Prozess wird mit dem psychoakustischen Modell eine Wahrnehmbarkeits-Entropie des Eingangssignals, auf der Basis der vorhergehenden Berechungen, erstellt. Das ist eine Kombination aus der Energie, der Unvorhersehbarkeit und den einzelnen Schwellen der kritischen Bandbereiche, die dem Coder Information darüber gibt, ob ein schnelles kurzlebiges Signal im System auftritt oder nicht. Daraus folgt eine gewisse Korrelation zwischen der Wahrnehmung und der Geschwindigkeit eines Signales.

to top

MDCT

Durch MDCT (Modified Discrete Cosine Transform) wird das Signal weiterverarbeitet, indem es Inputs von der Subband-Analyse und dem psychoakustischen Modell als Referenz nimmt. Sind kurze Signalimpulse vorhanden, wird nach den Algorithmen des psychoakustischen Modells determiniert, ob in kurze Block-Transformierung (1/3 eines langen Blockes) umzuschalten ist. Dieser Umschaltvorgang passiert nicht unmittelbar.

Ist die Entropie ausreichend hoch, beginnt das psychoakustische Modell, zu kurzen MDCT-Blöcken zu schalten. Ist das MDCT eingestellt, wird die SMR als Division zwischen der Energie in den kritischen Bändern und der Schwelle in den kritischen Bändern berechnet. Je Höher die SMR in den Bändern ist, desto mehr Bits müssen dem entsprechenden Band zugewiesen werden. Der Output-Block dieser ganzen Prozedur wird an das MDCT, und die SMR-Information an den Quantisierer abgegeben.

to top

Kompression Layer 3

Bereits Layer 1 und 2 unterteilten in Subbänder, Layer 3 geht jedoch einen Schritt weiter. Veranschaulicht an einem Sinuston von 1500 Hz lässt sich erkennen, dass hierbei zwei Subbänder Werte aufweisen. Hier zeigt sich ein Nachteil der Filterbank:

Die 32 Subbänder überlappen sich, wodurch ein Ton einer festen Frequenz zwei Bänder beeinflussen kann. Man spricht hier vom so genannten Aliasing-Effekt.

Um diese Folgen der Filterbank zu beseitigen und die Spektralauflösung zu erhöhen, erfolgt beim Layer 3 eine modifizierte diskrete Cosinus-Transformation, die sich um die Zeit-/Frequenztransformation kümmert. Geht es um die Bearbeitung von Sound, lassen sich grundsätzlich zwei Perspektiven unterscheiden:

Entweder das Audiosignal wird als eine Serie von Samples betrachtet, die einem analogen Signal entsprechen oder die Unterscheidung erfolgt nicht über die Zeit, sondern über die Frequenzen.

Je nach Art der gewünschten Manipulation eignet sich die eine oder andere Perspektive besser. Das Mischen von Signalen oder das Erhöhen der Amplitude geschieht leichter in einer zeitorientierten Basis. Frequenzmanipulationen fallen naturgemäß bei der nach Frequenzen aufgeschlüsselten Sichtweise leichter.

Um die Daten von einer in die andere Perspektive zu konvertieren, bedient man sich der Fourier-Transformation. Um ein Optimum zwischen Zeit- und Frequenzunterscheidung zu erreichen, bildet Layer 3 zwei verschiedene Blocklängen - eine lange mit 36 Samples und eine kurze mit zwölf Samples. In der Praxis heißt dies:

Bei den niedrigen Frequenzen kommen lange Blöcke zum Einsatz. Die langen Blöcke würden jedoch bei höheren Frequenzen keine ausreichende Auflösung erlauben, hier finden die kurzen Blöcke Verwendung. Im so genannten Mixed Block Mode kommen für die beiden Frequenzbänder mit den niedrigsten Frequenzen lange Blöcke zum Einsatz. Für die 30 verbliebenen Frequenzbänder sind die kurzen Blöcke an der Reihe. Damit erlaubt dieser Modus eine bessere Frequenauflösung bei den niedrigen Frequenzen, ohne eine Tribut an die Abtastrate bei den hohen Frequenzen zu zahlen.

 

to top

Quantisierung und Generierung der Datei

Bei der Quantisierung der Samples entsteht der nächste Ansatzpunkt zur Datenreduktion. Jedes Sample besteht zwar aus 16 Bit, jedoch sind nicht unbedingt alle 16 nötig, um den Pegel darzustellen. So können beispielsweise die führenden Nullen eines 16-Bit-Samples entfallen. Ergibt sich bei einem Sample der Wert 0000011101010101, so stutzt der Algorithmus das Ergebnis auf 11101010101. Um aus diesen reduzierten Angaben wieder die originalen 16 Bit rekonstruieren zu können, benötigt der Decoder zwei Angaben: den Skalierungsfaktor, sowie die Bit Allocation.

Der Skalierungsfaktor gibt an, an welcher Stelle die verbliebenen Bits des Samples sich im ursprünglichen Zustand befunden haben.

Die Bit Allocation enthält die Information, wie viele Bits im Sample verblieben sind, da man ja nicht mehr mit einer festen Zahl von 16 Bit rechnen kann. Würde man nun diese Informationen für jedes Sample einzeln ablegen, wäre nicht viel gewonnen. Daher teilen sich je zwölf Samples diese Werte.

 

to top

zurück | weiter

 

 

to top