Joint Stereo Kodierung

Viele Anleitungen im Internet zum Thema MP3-Kodierung mit LAME schreiben, dass das Verwenden von Joint Stereo gegenüber Stereo das stereofonische Bild beeinträchtigt und der räumliche Effekt somit zum Teil verloren geht. Leider werden solche Anleitungen häufig von Leuten geschrieben, die keine Ahnung von der Materie haben, aber erst mal der Reihe nach…

Der MP3 Standard kennt vier Modi um Kanäle zu enkodieren:

  • Mono: Es wird nur ein Kanal gespeichert. Hat die Eingangsdatei zwei oder mehr Kanäle hängt es vom Encoder ab, ob ein Downmixing erfolgt oder nur ein Kanal eingelesen wird.
  • Stereo: Es werden ein linker und ein rechter Kanal gespeichert. Benötigt ein Kanal mehr Bits als der andere, so kann die Aufteilung der Bitrate asymmetrisch sein (z.B. bei einer 128 kbps Datei ist es möglich, dass der linke Kanal 48 kbps und der rechte 80 kbps verbraucht).
  • Dual Channel / Dual Mono: Es werden zwei Kanäle gespeichert. Anders als bei Stereo wird jeder Kanal unabhängig vom anderen kodiert und die Aufteilung der Bitrate ist immer 50/50. Dieser Modus ist empfohlen, wenn man z.B. bilinguale Hörbücher kodieren will.
  • Joint Stereo:
    • Intensity Stereo: Dieser Modus ist tatsächlich verlustbehaftet, er wird jedoch kaum verwendet und wenn, dann i.d.R. nur bei Bitraten unterhalb von 96 kbps. Viele populäre MP3 Encoder wie LAME unterstützen diese verlustbehaftete Joint Stereo Art gar nicht.
      Bei IS werden der linke und rechte Kanal zu einem Monokanal zusammengefasst und zusätzlich einige Richtungsinformationen für bestimmte Frequenzbereiche gespeichert. Somit lässt sich viel Speicherplatz sparen und man hat trotzdem einen gewissen räumlichen Effekt.
    • Mid/Side Stereo: Dieser Modus ist absolut verlustfrei und findet daher auch bei Codecs wie FLAC Anwendung. Wenn von Joint Stereo die Rede ist, ist in den meisten Fällen M/S Stereo gemeint.
      Aus dem linken und rechten Kanal werden ein Mittel- und ein Seitenkanal gebildet. Der Mittelkanal enthält die Gemeinsamkeiten des linken und rechten Kanals und wird mit einer höheren Bitrate kodiert, der Seitenkanal enthält  die Unterschiede und wird mit einer geringeren Bitrate kodiert.

Auf den ersten Blick erkennt man vielleicht den Vorteil der Mid/Side Stereo Kodierung nicht, doch sie hilft die Qualität von MP3 Dateien sogar zu steigern.

Zu Illustrationszwecken nehmen wir an, dass unser MP3 Encoder, der ja verlustbehaftet arbeitet, beim Komprimieren im Stereomodus eine Fehlerrate von ±5% pro Kanal hat. Die folgenden Zahlen stehen für Audiosamples der Ausgangsdatei, beispielsweise von einer CD aufgenommen:

Links 24080 54322 45330 54400 12000 45330
Rechts 24100 55240 43890 50000 12150 45330

Nach der Komprimierung mit ±5% Fehlerrate pro Kanal erhalten wir folgende Werte:

Links 25284 57038,1 43063,5 57120 11400 43063,5
Rechts 22895 58002 46084,5 47500 11542,5 43063,5

Nun kodieren wir das Gleiche, benutzen aber Mid/Side Stereo. Die Formel für den Mittelkanal lautet M = (L + R) / 2, die für den Seitenkanal S = (L – R) / 2. Die verlustfreie Konvertierung zu M/S Stereo gibt uns folgende Zahlen:

Mittel 24090 54781 44610 52200 12075 45330
Seiten -10 -459 720 2200 -75 0

Da der Mittelkanal bei MP3 eine höhere Bitrate benutzt als der Seitenkanal, gehen wir davon aus, dass er eine Fehlerrate von ±3% hat. Dem Seitenkanal stehen viel weniger Bits zur Verfügung und deshalb hat er eine Fehlerrate von ±8%. Unser Beispiel MP3 Encoder liefert also folgende Werte:

Mittel 24812,7 56424,43 43271,7 53766 11712,75 43970,1
Seiten -9,2 -495,72 777,6 2024 -69 0

Beim Dekodieren werden daraus der linke und rechte Kanal rekonstruiert. Die Formel für den linken Kanal lautet L = M + S, die für den rechten R = M – S.

Links 24803,5 55928,71 44049,3 55790 11643,75 43970,1
Rechts 24821,9 56920,15 42494,1 51742 11781,75 43970,1

Vergleichen wir nun die Werte mit denen nach der einfachen Stereokodierung stellen wir fest, dass wir mit Joint Stereo eine geringere Abweichung haben und somit eine höhere Qualität erzielen.

Doch was passiert, wenn die Unterschiede zwischen den Kanälen so groß sind, dass der Seitenkanal mit Informationen „überfüllt“ ist? In solchen Situationen erkennt der MP3 Encoder, dass das Kodieren des MP3 Frames mit Mid/Side Stereo keinen Vorteil bringt, und verwendet stattdessen Simple Stereo.

Fazit: Joint Stereo ist der einfachen Stereokodierung immer vorzuziehen, da bei Gemeinsamkeiten zwischen den Kanälen eine höhere Audioqualität erzielt wird und bei Unterschieden ohnehin einfache Stereokodierung verwendet wird.

Posted in Audio, German | Leave a comment