Zum Inhalt der Seite



Wahrheit und Mythen über Joint Stereo Audiokompression, MP3, Unsinn, Wahrheit

Autor:  MichaelW1980
Dieser Text wurde von Mostyn verfasst und von Michael-San lediglich übersetzt und mit deutschsprachigen Links versehen.
Content © Mostyn

Translation © Michael-San

In Kürze:
Joint Stereo (kurz: JS) ist eine geschickte, mathematische Technik, um die Qualität von digital komprimierten Audioton zu erreichen. Am ehesten verbinden die meisten dies mit dem MP3 Format, wobei man diese Technik in einer Reihe anderer Audioformate findet, so zum Beispiel in allen MPEG Audio Formaten. (mp3 = MPEG1 layer III) Die Entwickler des freien Ogg Formates haben (vielleicht schlauer Weise) die Bezeichnung "Joint Stereo" vermieden, aber ihr "channel interleaving" und "lossless stereo image coupling" ist im Prinzip so etwas wie eine art von 'Joint Stereo Plus GT'. JS wird ebenso in einigen verlustfreien Kompressionsformaten verwendet, so zum Beispiel Monkey's Audio und Lossless Predictive Audio Compression (LPAC). (Schon die Tatsache, dass verlustfreie Audioformate diese Technik benutzen müsste doch eigentlich schon genug sein, den Mythos zu zerstören, dass JS "die Ortbarkeit des Stereosignals zerstört".) Mein besonderes interesse gilt jedoch dem MP3 Format, aber Grundsätzen hinter JS, also: was es ist und wie es funktioniert, gelten unabhängig vom Audio format, oder allgemeiner: Dem Verwendungszweck. Ich empfehle dazu auch den Wikipedia Artikel über Joint Stereo.
Die Mythen
Die große Mehrheit der 'MP3 Enthusiasten', also die Milionen der Leute, die MP3 Dateien im Internet tauschen, über File Sharing Dienste, downloads oder auch Datentransfer im IRC, ICQ, MSN oder was weiß ich, haben wohl keine Ahnung von Themen wie LAME, Fraunhofer, "128kbit vs 192kbit", "CBR vs VBR" oder "stereo vs joint stereo". Das ist vielleicht auch ganz gut für sie! Sobald sie nämlich beginnen eine grundlegende Kenntnis der Audiokompression erlangen ist es fast unvermeidlich, dass sie sich davon angezogen fühlen, die Meinung zu vertreten, die da lautet: "Joint Stereo ist SCHLECHT". Hier eine Sammlung meiner "Lieblings"-Kommentare über JS, die ich im Usenet wärend der letzten jahre aufgeschnappt habe:


JS ist meiner bescheidenen Meinung nach böse. Es ist eine Verschwendung guter Musik, von downloadzeit und uploadzeit! Sicher, die Datei ist Kleiner, aber was bringt das, wenn es kein echtes Stereo mehr ist!

Wieso um alles in der Welt, sollte man das Stereosignal verändern, nur um ein paar KB Platz zu sparen? Das macht für mich einfach keinen Sinn.

F***T EUCH ALLE, IHR ARS******** DIE IN JOINT STEREO RIPPEN, IHR ZERSTÖRT EINFACH NUR GUTE MUSIK

Ich habe immer gedacht, das joint stereo die schlimmmste Wahl ist und nur von denen, die es nicht besser wissen zum Platz sparen benutzt wird

Wenn die Qualität so viel besser ist, warum benutzt dann keine Firma das für ihre CDs? Eure Ohren haben doch nen Schaden! Geht zu einem scheiss Doktor

Ähm... ja... schön... Danke für die vielen Gut durchdachten Ratschläge, Leute... Und wenn Ihr, liebe Leser, eine besser durchdachte, fundierte Meinung sucht, dann macht euch bitte klar, dass da draußen im Netz auch eine Menge Schwachsinn verbreitet wird. Um es auf den Punkt zu bringen:

Die schlimmste "Erklärung" die ich jemals sah kommt von cdrinfo.com
Ich versuche Joint Stereo sehr einfach zu erklären. Grundsätzlich sucht es nach Signalen die im linken und rechten Kanal identisch sind und findet heraus, ob sie in Mono codiert sind. Das bedeutet, dass bei den Mono Signalen 50% der Bitrate gespart wird. Und die die Bits werden genutzt, um die Codierungsgenauigkeit zu erhöhen. (Sehr einfache Erklärung)

Sehr einfache Erklärung? Ich würde eher sagen: Sehr FALSCHE erklärung! Und es ist doch irgendwie ironisch, dass eine der besten Erklärungen von JS die ich so gefunden habe der Dokumentation des Xing encoders beiliegt. Warum Ironisch? Naja, solltet Ihr es noch nicht wissen, der Xing mp3 Encoder ist weithin als der schlechteste verfügbare Mp3 Encoder bekannt. Trotzdem wussten sie sehr gut darüber bescheid, was sie VERSUCHT haben zu tun!

Selbst die Fraunhofer Gesellschaft (FhG) - also die Leute, die die MP3 Compression erfunden haben haben eine Definition von Joint Stereo die, wie ich finde, mehr zur Verwirrung als zur Aufklärung beiträgt:

Joint Stereo Codierung macht es sich zu Nutze, wenn beide Kanäle eines Stereosignals die selbe Information enthalten. Diese für das Stereosignal unnötigen Informationen werden ausgenutzt, um die gesamte Bitrate zu reduzieren. Joint Stereo wird benutzt, wenn nur niedrige Bitraten verfügbar sind aber dennoch ein Stereosignal erreicht werden soll.

Ich würde mir nie anmaßen, zu behaupten, dass Fraunhofer nicht wissen, wovon sie reden(!), aber ich denke, dass ihre Schwerpunktbehauptung der "Bitratenreduktion" dazu neigt, die Leute zu verwirren. Natürlich gucken sich FhG das.... um ein cliché zu benutzen, dass ich hasse... das Gesamtbild an. Das Ziel jeder Audiokomression ist ja, die bitrate zu reduzieren und dabei möglichst wenig der Tonqualität zu verlieren. In dem man Joint Stereo benutzt, wird die Soundqualität bei der vorhandenen - üblicher Weise geringen - Bitrate steigert, wodurch die Klangqualität bei geringeren Bitraten schon akzeptabel werden kann. Aber, dass JS einfach Stereoinformationen abschneidet, um ein paar kBytes der Dateigröße zu sparen (was unsere Kumpel von weiter oben ja zu denken scheinen) ist komplett falsch und dies Mythos sollte daher einfach zerstört werden können, bevor wir weiter gehen: Wann immer du eine .WAV datei (in diesem Fall als MP3) auf eine bitrate codierst, definiert diese bitrate die größe der MP3 Datei. Dabei ist es völlig egal, welchen Stereo Modus du wählst. Ein Beispiel: Wenn du bei einer festen bitrate von 128kbit eine Mp3 Datei erstellst, dann wird jede Sekunde Musik von 128 000 bits an Daten wiedergegeben. Und als Hilfe für alle die sich mit bits, Bytes, Megabytes und so nicht auskennen:

1 Sekunde = 128 000 bits
         = 16 000 Bytes (8 bits = 1 Byte)
         = 15.625 kBytes (1024 Bytes = 1 kByte)

oder alternativ


1 Minute = 0.9155 MBytes (1024 kBytes = 1 MByte)

Wenn Ihr irgendwelche Zweifel an dieser Tatsache habt, dann macht doch selbst einen einfachen Test mit egal welcher .WAV Datei, egal welchem MP3 Encoder bei egal welcher Bitrate. Joint Stereo "entfernt" nicht ein einziges Bit; es nutzt ganz simpel die von euch angegebene Bitrate besser aus. Aber bevor ich damit weiter mache, rufen wir uns doch die grundsätzlichen Prinzipien der MP3 Kompression in Erinnerung.



Am Anfang ...
Fangen wir doch mit dem Offensichtlichen an: Der ganze Sinn und Zweck der Audiokompression ist ... Ton zu komprimieren! Anders Ausgedrückt: Die Größe einer rohen Audio WAV Datei so weit wie möglich zu reduzieren. Sprecht mir nach: Kleiner ist besser ... Kleiner ist besser ... Kleiner ist besser ...

Die "beste" Größe für eine MP3 Datei ist die kleinste Größe, bei der keine bemerkbare Reduktion der Tonqualität auftritt. Natürlich werden verschiedene Hörer immer eine andere Meinung haben, welche Stärke der Reduktion noch akzeptabel ist, aber das grundsätzliche Prinzip bleibt: Kleiner (Anmerkung von Michael: bei gleichbleibender Tonqualität) ist besser.

MP3 wurde als einer von verschiedenen Layern der Audiokompression von der Moving Pictures Experts Group (MPEG) entwickelt. (Anmerkung von Michael: MP3 ist vielleicht irreführend, weil Leute glauen könnten es handele sich um MPEG3, was FALSCH wäre. Die korrekte Bezeichnung ist MPEG I Layer III) .MP3 war der dritte der drei Layer, die entwickelt wurden, der Komplexeste und auch Kompressionsstärkste. Ursprünglich wollte das MPEG Committee erreichen, die größe eines unkomprimierten Audio Signals (also ein Rohes WAV Signal) auf ungefär 10% der unkomprimierten Größe zu reduzieren. Da ihre zielbitrate 128kbit war (als Ergebnis einer datei mit einem rohen 1411kbit signal) bedeutet das eine reduktion auf eigentlich kaum mehr 9% des Originals. Aber wie ist es möglich 91% der Originaldaten zu entfernen, ohne dass die Tonqualität dabei merklich entartet?



MP3 Kompressions Techiken
1. Perceptual Coding
Perceptual Coding, also wahrnehmungsbasierte Codierung ist bei weitem das wichtigste Element der MP3 Kompression, welches aber von vielen Menschen, angesichts von Begriffen wie "Minimal Audition Threshold", "Psychoacoustic Modelling" oder "Auditory Masking". nicht in Gänze verstanden wird.

Das Grundlegende Prinzip hinter Perceptual Coding ist, dass bei der Audiokompression gefahrlos alle Geräusche entfernt werden können, die das menschliche Gehör nicht wahrnimmt; Entweder, weil wir physikalsich nicht in der Lage sind sie zu hören, oder weil sie von anderen Klängen verdeckt werden. Ein Beispiel, welches helfen könnte, dies zu erklären wäre das Thema Vinyl Aufnahmen (Anmerkung von Michael: Schallplatte für alle die das nicht mehr kennen xP) Wärend leiserer Passaggen der Aufnahmen nimmt man - besonders bei älteren Schallplatten - störgeräusche wahr. Klick, Knack und Pop geräusche. Wärend lauterer Passagen nehmen wir die nicht mehr wahr. Das liegt aber nicht daran, dass sie verschwunden wären! Die Störgeräusche werden hier einfach von stärkeren Geräuschen verdeckt.

Alternativ denkt einfach mal an eine schöne Wanderung durch die Berge. Es herrscht frieden in der Welt, wir hören die Lärchen singen, ein nahegelegener Bach plätschert über das Gebirge und der Wind pfeift durch die Schluchten. In der Ferne hören wir leise ein schaf blöken. Dann taucht eine reihe von RAF jets im Maneuver wie aus dem Nichts auf und plötzlich hören wir nichts anderes mehr als das ohrenbetäubende Getöse der Jet Motoren. Wie schon vorher sind alle anderen Klänge nicht einfach verschwunden, sie werden einfach verdeckt.

Wenn ihr jetzt von einem dieser Szenarien eine Aufnahme habt und die verlustfrei komprimieren wolltet, müsstet ihr all diese Töne, die ihr eignetlich nicht hört bei der Kompression behalten. Bei einer verlustbehafteten Kompression hingegen werden diese Töhne ignoriert. Nun ist die große Kunst der MP3 Kompression (obwohl viele Studien immer wieder dies anzweifeln wollen) die Elemente zu identifizieren und zu eliminieren, die sicher ignoriert werden können. (Anmerkung von Michael: Deswegen bietet MEINER Meinung nach eine mit dem LAME Encoder erstellte MP3 Datei immer noch die höchste Tonqualität.)

Huffman Coding
Im krassen Kontrast zum Perceptual Coding, welches ja den hauptsächlichen Datenverlust in der MP3 Kompression darstellt, ist Huffman Coding eine verlustfreie Technik, vergleichbar mit der, die in einer normalen ZIP Datei oder vergleichbarem verwendet wird. Das Grundlegende Prinzip hierbei ist, dass in dem Datenstrom nach sich wiederholenden Mustern gesucht wird und diese durch ein Muster mit kürzeren Code Wörtern ersetzt. Man rechnet mit etwa 20% Kompression, die man allein durch das Hoffman Coding erreichen kann.

Das Bit Reservoir
Man findet immer wieder Leute in MP3 Kreisen, die die Idee von Variablen Bitraten gruselig finden. Anders ausgedrückt: Sie misbilligen die Vorstellung dass manche stellen der Musik in einer Bitrate unter der Bitrate codiert werden, was sie als akzeptabel ansehen, egal ob da irgendwelche nennenswerten Audiodaten vorhanden sind oder nicht. Dabei wird gern vergessen, dass bei MP3 Dateien im weitesten Sinne immer in einer variablen Bitrate codiert werden. Nur ist diese Variablität bei 'konstanter' Bitrate so gering, dass es kaum der Rede wert ist.

Eine der Techniken die MP3 bietet, um die Tonqualität bei möglichst geringen bitraten zu maximieren, ist die Benutzung eines sogenannten Bit Reservoirs. Im Prinzip werden dabei überflüssige Bits der Bitrate in einer Art Sparkasse abgelegt, wenn man sich etwa in einer Passage mit einfacheren Audiodaten befindet. Diese können dann anschließend für komplexere Passagen verwendet werden, um einer reduktion der Tonqualität entgegen zu wirken, die ansonsten auftreten würde. Dieses Bit Reservoir muss für jede Datei von 0 an aufgbebaut werden, bevor es genutzt werden kann. Das ganze System mit der Tonqualität würde sonst zusammen brechen, wenn man immer die gleiche Bitrate verwendete, in der wagen Versprechung, dass die Tonqualität schon immer gleich bleiben würde, bis zum Ende des Stücks. Aber weil viele Stücke etwa mit einem kurzen Stück Stille beginnen oder auch innen drin so eine Stelle bieten, hat man an solchen Stellen eine Möglichkeit so eine Art von Kredit aufzubauen, den man später benutzen kann.

Und jetzt kommen wir zur letzten Technik, die genutzt werden kann um die MP3 Kompression zu erweitern... ... Joint Stereo.



Die verschiedenen Arten von 'Joint Stereo'
Wer auch immer dafür verantwortlich war, Joint Stereo in das MP3 Format einzubinden, hat zwei große Fehler gemacht:

Der erste Fehler war, diese Technik 'Joint Stereo' zu nennen. Allein dieser Name deutet ja schon an, dass die beiden Kanäle mit einander verbunden werden. (joined together)

Der Zweite Fehler war, diesen Namen - also 'Joint Stereo' zwei komplett verschiedenen Techniken zu geben: Intensity Stereo und Mid/Side Stereo. Die zwei Techniken haben nichts mit einander zu tun, ausser das generelle Prinzip, dass "Irrelevanzen und Redundanzen in der Stereophonie ausgenutzt werden".

Der Name "Joint Stereo" könnte sinnvoller Weise dem "Intensity Stereo" zugeordnet werden, welches tatsächlich beide Kanäle in höheren Frequenzen verbindet. Die Begründung dahinter ist, dass das menschliche Gehör am oberen Ende des Frequenzbandes, welches wir hören können, nur schwer erkennen, aus welcher Richtung ein Ton kommt. Beim Decodieren (also dem abspielen) der MP3 würde dann ein Teil von dieser Verbindung der Kanäle durch verschiedene Scaling Techniken wieder gelöst. Allerdings ist diese Technik bei weitem nicht transparent.

Der Hauptgrund über Intensity Stereo nachzudenken ist, dass es nur zur Verwendung in Situationen gedacht war, wo man - aus welchem Grund auch immer - 96kbit oder weniger bandbreite braucht, wo aber trotzdem so eine Art von Stereosignal gewollt ist. In solchen Situationen ist es sinnvoller einen teil des Stereodetails aufzugeben, anstatt volles Stereo mit zu geringer Bitrate zu codieren. Die meiste Musik die im Internet herum schwirrt wird in Bitraten von 128 (eher noch höher) verteilt. Über 96kbit wird von den meisten Encodern der aktuellen Generation 'Mid/Side Stereo' verwendet. Daher werden die meisten Music Fans wohl kaum 'Intensity Stereo' vorfinden.

Die einzige Ausnahme ist der alte xing mp3 encoder, der 'Intensity Stereo' auch in höheren Bitraten verwendet. Das ist auch einer der Gründe, warum dieser encoder so schlechte bewertungen bekommt.

Ein letzter Punkt: Im Engeren Zusammenhang ist das menschliche Ohr fast unfähig, die Richtung auszumachen, aus der Geräusche aus dem Bassbereich kommen. Jeder, der ein Boxenset mit kleinen Lautsprechern und einer Bassbox benutzt, nutzt dabei eine Art von Joint Stereo, wenn man so will und demonstriert damit ganz klar, dass man nicht in allen Frequenzen ein volles Stereosignal braucht.

Die Häufigste Form von 'Joint Stereo' die man heutzutage in Audio Codierungen findet ist das 'Mid/Side Stereo'. Wie schon vorher erwähnt, ist M/S STereo schlecht bedient worden, als man es als 'Joint Stereo' bezeichnete. Der Linke und Rechte Kanal des Stereosignals ist in keinster Weise zusammen gefügt worden. Die linken und Rechten Audiosignale wurden lediglich mathematisch neu angeordnet und in Form einer Matrix gespeichert. Auf diese Weise allerdings können die ursprünglichen Kanäle einfach und verlustfrei wieder hergestellt werden. Daher wäre die Bezeichnung 'Matrix Stereo' eine genauerere Beschreibung. Die Grundlegende Theorie hinter M/S Stereo ist einfach zu verstehen - zumindest, wenn ihr nicht Angst vor ein wenig Schuljungen Algebra habt!



Mid/Side Stereo vs. Left/Right Stereo
'Mid/Side Stereo' schaut sich dieselben 2-Kanal Daten aus einer anderen perspektive an. Anstatt dass die Daten in einem linken und rechten Kanal gespeichert werden, können wir doch genauso gut die gleiche Reihe an Zahlen und Werten in den Durchschnittswert (aus Links und Rechts) und Die Differenz (zwischen Links und Rechts) aufteilen. Dies ist das grundlegende Prinzip von 'Mid/Side Stereo'. Der Durchschnittswert kann auch als "Mitte", die Differenz als "Seiten" bezeichnet werden.

Jetzt, wenn du ein bisschen Schuljungenalgebra verstehst, lass uns demonstrieren, dass diese beiden Arten, ein Stereosignal zu speichern, problemlos einander ersetzen können. Wir beginnen mit der einfachsten Form: Zwei Kanal Stereo wird gespeichert in Werten für den Linken (L) und den Rechten Kanal (R). Daraus ergibt sich:

               Links = L                    Rechts = R

Im Mid/Side Format werden die Daten stattdessen in Durchschnitt (Middle) und Differenz (Side) unterteilt:

               Mitte = (L+T)/2            Seite = (L-R)/2

Bitte beachtet, dass die Vorzeichen der Seiten Werte sehr wichtig sind! Üblicher Weise wird das so gehandhabt, dass ein Positiver Seitenwert als Ergebnis indiziert, dass das Linke Signal größer als das Rechte ist, wärend ein negativer Wert darauf hinweist, dass Rechts größer ist.

Wenn wir jetzt vom M/S Format zum Links/Rechts Signal zurück wollen, können wir den linken Kanal wiederher stellen, indem wir die Summe aus Durchschnitt plus die positive Differenz für den Linken Kanal nehmen und die Summe aus Durchschnitt und der negativen Differenz für den Rechten kanal

               L = Mitte + Seite           R = Mitte - Seite

Wenn wir die ganze Rechnung für Mitte und Seite dazu nehmen sieht das so aus:

               L = (L+R)/2 + (L-R)/2       R = (L+R)/2 - (L-R)/2

Daraus folgt:

               Links = L                   Rechts = R

Und damit kehren wir zurück zum Anfang der ganzen Sache.

Eine Behauptung, die gern über Joint Stereo verbreitet wird ist diese:

Wäre Joint Stereo so gut, dann würde doch jeder die CDs in Joint Stereo aufnehmen.

So einem Kommentar kann man schwer entgegen treten, weil die Person damit klar macht, dass sie nichts davon versteht, worum es bei Joint Stereo eigentlich geht. Bei unkomprimierten Audiosignalen bringt das tatsächlich keinen Vorteil. Auf der Anderen Seite hat es aber auch keine Nachteile, bis auf die Tatsache, dass es merklich komplizierter zu berechnen ist, als simples Stereo aus Linkem und Rechtem Kanal.

Würde man das CD Signal als Mid/Side Stereo brennen können und würde der CD Player das umsetzen können, dann hätte man am schluss das Signal, was man haben wollte. Links und Rechts. Es würde also keinen Qualitativen Unterschied machen. Nur einen quantitativen, da man so hätte mehr Daten auf eine CD speichern können. CDs wurden seinerzeit aus einem einzigen Grund in simplen Links/Rechts Stereo gespeichert, weil es offensichtlich simpler ist. (Anmerkung von Michael: Wir dürfen schließlich nicht vergessen, wie alt das CD Audio format mittlerweile ist. Die Entwicklung der Audio CD ist 1979 begonnen worden, also vor meiner Geburt! Markteinführung war auch bereits 1982. Damals gab es einfach noch nicht die Chips, um so etwas berechnen zu können. Damit wäre geklärt, warum L/R Stereo und kein M/S Stereo verwendet wurde.)



Der Artikel ist noch nicht vollständig übersetzt. Der Rest wird folgen!


Zum Weblog