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


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

 

Kompressionsarten und Unterschiede

Verlustlose Kompression wird bei jenen Dateien verwendet, bei denen es notwendig ist, die Daten hundertprozentig rekonstruieren zu können, wie es beispielsweise bei Programmcode der Fall ist. Das ZIP-Verfahren, um ein bekanntes Format zu nennen, arbeitet mit verlustloser Kompression. Verlustbehaftete Kompression wird hingegen angewandt, wenn eine Verminderung der Qualität akzeptabel ist bzw. keinen größeren Einfluss auf die subjektive Erscheinungform der Information nimmt, also z. B. bei Bild- oder Audiodaten.

Zusammenfassend kann man sagen, dass bei der verlustbehafteten Kompression die Daten (in Bezug auf den Algorithmus) vereinfacht und die Daten mehr oder weniger aneinander angeglichen werden. Dadurch kann die Datei mit hoher Rate komprimiert werden.

Während des Codiervorganges von MP3s werden die Audiodaten über den MP3-Codec mit Hilfe des psychoakustischen Modells vereinfacht und anschließend u. a. nach den Reglen des Huffman-Codierungsverfahrens komprimiert. Dieser Prozess führt zu einem gewissen Qualitätsverlust der codierten Daten, daher ist der MP3-Codec ein verlustbehaftetes Komprimierungsverfahren.

to top

Bitrate

Die Bitrate gibt an, wieviel Bit/Sekunde für das Ausgangsprodukt verwendet werden. Für den Komprimierungsvorgang kann angeben werden, wieviel Bit man verwenden will, die Qualität der komprimierten Datei ist natürlich von der Bitrate abhängig. Wird eine geringe Bitrate verwendet, werden mehr redundante bzw. nicht hörbare Daten weggefiltert, ist die Bitrate hoch, werden weniger Daten gefiltert, was die Qualität verbessert, aber auch den Speicherbedarf erhöht.

Die Bitrate der zu codierenden Datei kann vom User eingestellt werden. Um die gewünschte Bitrate zu erreichen, entfernt der Encoder schichtweise die Daten auf den, laut den Tabellen definierten, nicht wahrnehmbaren Frequenzen, bis die definierte Datenrate steht.

to top

Konstante und variable Bit-Rate

Im Gegensatz zu den häufig verwendeten Files mit CBR, also konstanter Bitrate, ermöglicht es VBR ("variable bit rate") eine höhere Kompression zu erreichen. Bei VBR entscheidet der Encoder für jedes Frame einzeln, welche Bitrate er verwenden soll. So können z. B. ruhige Stellen in einem Musikstück mit weniger Bit codiert werden als andere Stellen, die besser wahrnehmbar sind.

Ein Problem mit variabler Bitrate war bis vor einiger Zeit jedoch, dass es noch nicht alle MP3 Player möglich war, solche Files abzuspielen. Ein anderes Manko war das bei Streaming die Pakete unregelmäßig gesendet werden, was eventuell zu Problemen hätte führen können. Neuere Player haben keine Probleme mit der VBR mehr.

to top

Samplerate

Nicht nur die Bitrate beeinflusst die Größe bzw. die Qualität eines MP3s. Auch die Samplerate hat einen maßgeblichen Einfluss auf diese beiden Faktoren. Sie bestimmt die Anzahl an Samples, die pro Sekunde vorhanden sind. Beispielsweise wird eine CD standardmäßig konstant mit 44.1 kHz aufgenommen, daher werden auch die meisten MP3s mit 44.1kHz codiert. Für Streaming-Verfahren über das Web werden jedoch meist geringere Bitraten verwendet, da die vorhandene Bandbreite oft nicht für eine höhere Qualität ausreicht.

to top

Kompression

Bei der Erstellung einer MP3-Datei kommen zwei verschiedene Verfahren zum Einsatz, um die hohe Kompression zu erreichen. Im ersten Abschnitt werden die Audiodaten mit Hilfe des psychoakustischen Modelles vereinfacht. In Phase "zwei" findet eine Komprimierung nach den Parametern der Huffman-Codierung statt. Die grundlegenden Arbeitsschritte während des Codierungsvorganges sind folgende:

* Die Datei wird in kleinere Einheiten, die als Frames bezeichnet werden, aufgeteilt. Ein Frame dauert 0,26 Sekunden und ist mit einem Frame einer Videoaufnahme vergleichbar.

* Es findet eine Analyse der "spektralen Energieverteilung" statt. Dabei wird determiniert, wie die Bits im Spektrum am Besten zu verteilen sind, um die bestmögliche Soundqualität zu gewährleisten. Während diesem Prozess werden die Daten in Sub-Bänder unterteilt, die seperat verarbeitet werden.

* Die maximale Bitanzahl, die pro Frame verwendet werden kann, wird aufgrund der Encoding-Bitrate berechnet. Aufgrund der Bitrate wird in der Spektraldarstellung entschieden, welche Frequenzen entfernt werden können.

* Der Bitstream wird mittels Huffman-Coding komprimiert. Dieses Verfahren ist verlustfrei!

* Die Daten werden in Frames ausgegeben. Jedem Frame wird ein Header vorangestellt, der die wichtigen Informationen über das Frame enthält. In MPEG Layer-1 und Layer-2 sind die Frames unabhängig voneinander. In Layer-3 kann es auch vorkommen, dass einzelne Frames voneinander abhängig sind.

In der unteren Grafik ist der Kompressionsprozess nochmals in einer anderen Form dargestellt, um die einzelnen Abschnitte im Detail zu veranschaulichen.

to top

Das psychoakustische Modell

Das psychoakustische Modell beschreibt jene akustischen Eigenschaften des menschlichen Gehörs, die es bei der MP3-Codierung ermöglichen, Audiodaten mit einer hohen Rate zu komprimieren. Die Tatsache, dass der menschliche Gehörsinn unter gewissen Umständen Signale bzw. Teile davon nur vermindert bzw. garnicht wahrnehmen kann, ist die Basis für diese Überlegungen.

Die wichtigsten Eigenschaften für die MP3-Kompression sind beispielsweise, dass von 2 schnell aufeinanderfolgenden Geräuschen, die eine ähnliche Klangfarbe haben, nur das Stärkere wahrgenommen werden kann. Frequenzen unter 20 Hz bzw. über 16 kHz können nur schwach bzw. gar nicht erfasst werden. Diese und andere, weniger signfikante Analysen des Gehörs, welche allgemein als Psychoakustik bezeichnet werden, können mathematisch beschrieben und in Tabellen zusammengefasst werden, um ein psychoakustisches Modell darzustellen.

Dieses Modell spielt nun im Kompressionsverfahren folgende Rolle: MP3 Encoder wandeln das Inputsignal in eine mathematische Darstellung um und vergleichen diese mit den gespeicherten Tabellen. Jene Daten, die laut Modell nicht im wahrnehmbaren Bereich liegen, werden daraufhin entfernt.

Der Anteil dieser Daten ist relativ hoch, deshalb ist die Kompressionsrate des MP3-Verfahrens bei subjektiv geringem Qualitätsverlust so gut. Durch die Annäherung an das Modell wird sowohl das individuelle Gehör jedes einzelnen Menschen vernachlässigt, als auch die Umgebungsbedingungen, die einen nicht geringen Einfluss auf die Wahrnehmbarkeit einzelner Töne haben.

Es ist daher sinnvoll, die Klangqualität beim Encodiervorgang skalieren zu können, um die größtmögliche Qualität bei gewünschter Kompressionsrate zu erhalten. Je höher die Bitrate, desto besser ist folglich der Output; ist sie geringer, werden mehr Informationen in den kaum hörbaren Ton- und Frequenzbereichen weggefiltert, was sich ab einem gewissen Grad sicher auf die Klangqualität der Wiedergabe auswirkt.

to top

Das psychoakustische Modell: Maskierung

Ein Teil des Prozesses des mentalen Filterns im Gehirn von Audiodaten wird als Masking (Maskierung) bezeichnet. Bei der MP3 Codierung werden 2 verschiedene Maskierungseffekte angewandt:

   * Auditory und

   * Temporal Masking.

Maskierung beschreibt nichts anderes als die Überdeckung zweier Signale und das Unvermögen des menschlichen Gehörs.

1. Simultanes (auditory) Masking

Der Masking-Effekt kann am Einfachsten mit einer Assoziation beschrieben werden. Ein Flugzeug am Himmel kann deutlich wahrgenommen werden. Bewegt sich das Flugzeug allerdings vor die Sonne, ist es kaum mehr zu erkennen. Analog dazu tritt das selbe Phänomen in der Audiowelt auf. Es ist zwar möglich, leise Geräusche in einem Musikstück wahrzunehmen, wenn die Umgebung und die anderen Instumente auch leise sind. Sobald das Lied als gesamtes jedoch lauter wird, gehen die leisen Geräusche unter. Da der MP3 Codec natürlich nur aufgrund eines mathematischen Modelles vereinfachen kann, wird also von 2 Frequenzen, die einander sehr ähnlich sind, jene mit der geringeren Amplitude nicht wahrgenommen. Wird der Frequenzunterschied erhöht, erscheint die andere Frequenz langsam lauter. Dieses psychoakustische Phänomen wird als "simulatanes Maskieren" bezeichnet und ist auch bei normalen Audioaufnahmen vorhanden. Das Unvermögen, des menschlichen Gehörs, zwei gleichzeitig auftretende, sich gleichende Frequenzen auseinanderzuhalten ermöglicht es, bei komprimierten Aufnahmen der bessen hörbaren Frequenz eine höhere Bitrate zuzuordnen, sodass im Falle einer Komprimierung die Frequenz mit der niedrigeren Amplitude weggefiltert werden kann.

2. Temporales Masking

Wie bei der simultanen Maskierung bedeutet temporale Maskierung, dass von zwei Tönen, die kurz aufeinander folgen, nur der lautere wahrgenommen wird. Wird der zeitliche Abstand größer, können beide Töne wieder differenziert werden. Die Grenzdauer, ab der der Effekt auftritt ist circa 5 ms. Bemerkenswert ist, dass dieser Effekt nicht nur auftritt, wenn ein leiser Ton einem lauten folgt, sondern auch umgekehrt. Die Bezeichnungen dafür sind Premasking bzw. Postmasking.

to top

Joint Stereo Effect

Eine andere Eigenschaft des menschlichen Ohres ist, dass tiefe Töne nur schwer lokalisierbar sind. Das kommt daher, dass das menschliche Gehör Geräuschquellen aufgrund des Abstandes der Ohren erkennt. Trifft ein Signal an einem Ohr früher ein, so ist dies die Richtung aus der das Signal kommt. Ist nun die Wellenlänge sehr breit, wie es bei tiefen Frequenzen der Fall ist, so kann die Richtung nicht eindeutig bestimmt werden.

Dieser Effekt kann bei einem Surroundsystem mit Subwoofer beobachtet werden. Sind die Hoch- und Mitteltöner für ein optimales Klangbild an gewissen Stellen im Raum zu plazieren, so ist es praktisch irrelevant, wo sich der Subwoofer befindet. Sein Soundoutput klingt immer gleich, da die Geräuschquelle nicht lokalisiert werden kann. Diese Eigenschaft wird beim Joint-Stereo-Effect ausgenutzt. Tiefe Töne werden nicht Stereo, sondern Mono encodiert, wodurch eine geringere Bitrate benötigt wird. Natürlich wird die Soundqualität trotzdem leicht schlechter, deshalb sollte dieser Effekt nur angewandt werden, wenn es notwendig ist, die Filegröße auf einem Minimum zu halten.

to top

Huffman Codierung

Nach der Verarbeitung über das psychoakustische Modell wird ein weiterer Kompressionschritt durchgeführt. Dabei handelt es sich um ein verlustloses Kompressionsverfahren, der Huffman-Codierung, bei der die Gesamtgröße der Datei nochmals um etwa 20% verringert wird. Die Methode der Huffman-Codierung wird vielfach verwendet, und es gibt eine breitgefächerte Anzahl an entsprechenden Interpretationen und Verbesserungen. Am Beispiel einer Textkompression soll hier vorerst das Prinzip von Huffman beschrieben werden; im Späteren wird dann auf die Verwendung bei der MP3-Kompression eingegangen.

Als Beispiel zur Erläuterung des Codierprozesses soll hier der Datenstring YBBA DABBA DOO komprimiert werden.

to top

Bei diesem Codierungsvorgang wird zuerst die Frequenz von sich wiederholenden Symbolen bzw. Datensträngen in der Datei determiniert. In unserem Fall heißt das die Auflistung der Buchstaben A B D O und Y aus den gegebenen Wortstring und das berechnen der Wahrscheinlichkeit des Auftretens.

to top

to top

Der Wert des Knotenpunktes wird zur Summe der beiden Häufigkeiten, das wiederum wie ein Symbol weiterverarbeitet werden kann.

to top

Im Laufe dieses Prozesses wächst der gesamte Datenstrang, wie man in der obenstehenden Grafik sehen kann, zu einem einzigen Wurzelpunkt zusammen. Aufgrund dieses Codebaumes, der logischerweise auch die Vorlage zur Decodierung darstellt, kann jedem Symbol nun ein eigener binärer Wert zugewiesen werden, indem entlang des Pfades, von der Wurzel bis zum Symbol selbst, die Binärwerte an den einzelnen Knotenpunkten aufgelistet werden - 0 für eine Weiterführung entlang eines rechten Pfades und 1 für einen Weg an einem linken Pfad. Aus diesem binären Codestrang kann der ursprüngliche Symbolstrang einfach wiederhergestellt werden, denn die einzelnen Binärziffern repräsentieren den Pfad zu den entsprechenden Symbolen. Werden die Binärziffern auf den Codebaum angewendet, ergibt sich der ursprüngliche Symbolstrang.

Daraus folgt, dass es sich bei der Huffman-Methode um ein verlustloses Kompressionsverfahren handelt, dass unter Analyse von relativen Häufigkeiten innerhalb eines Datenstranges operiert. Huffman-Codierung gehört in die Familie der Codes, die eine variable Codewortlänge haben, das heißt, dass die Bitstränge, die einzelne Symbole oder Sequenzen beschreiben, unterschiedliche Länge haben können. Diese Charakteristik der Codewörter ermöglicht es, den Anteil an Redundanz zu verringern, und macht somit Komprimierung möglich. Die Verringerung von wiederkehrenden Ähnlichkeiten in einer Datenmenge basiert beim Huffman-Coding auf der Tatsache, dass einzelne Symbole individuelle Wahrscheinlichkeiten von Wiederholungen haben. Wie aus der Beschreibung des Codiervorganges hervorgeht, werden Symbole mit höherem Vorkommen durch kürzere Codeworte ersetzt als seltener auftretende Symbole, wodurch eine gewisse Kompressionsrate folgt.

Nun spielt das Huffman-Coding beim Prozess der MP3-Komprimierung folgende Rolle: Beim Perceptual Masking werden polyphone Elemente, also jene Passagen des Musikstückes, in denen viele Töne gleichzeitig auftreten und sich überlagern, komprimiert. Abschnitte, in denen der Klang konstant bleibt, bleiben von diesem Komprimierungsverfahren relativ unangetastet. Da sie aber eine große Redundanz haben, wendet man genau an diesen Stellen das Huffman-Coding an.

to top

zurück | weiter

 

 

to top