Problem beim Mitten/Seiten-Stereo

Fragen zu Grafik- & Soundproblemen und zur Spieleprogrammierung haben hier ihren Platz.
es_91
Beiträge: 383
Registriert: 25.01.2011 04:48

Problem beim Mitten/Seiten-Stereo

Beitrag von es_91 »

Hi.

Also das Mitten-Seiten-Stereo ist ja eine Möglichkeit, zwei Kanäle verlustfrei zu beschreiben. Offenbar, so dachte ich immer, benötigt man dafür kein zusätzlichen Daten, da sich (lt. Wikipedia) beide Kanäle (der Mittenkanal und der Seitenkanal) durch folgende Formel errechnen lassen:

Mitte = (Kanal1 + Kanal2) / 2; Seite = (Kanal1 - Kanal2) / 2

http://de.wikipedia.org/wiki/Kanalkopplung

Ein Praktisches Bespiel zeigt mir jedoch an, dass dies irgendwie nicht stimmt:

[Beispiel mit einem Bit Abtasttiefe]
Bild

[Beispiel mit 2 Bit Abtasttiefe]
Bild

Wie man sieht liegt der tatsächliche Datenverbrauch immer um ein Bit höher, also bei den doppelten Möglichkeiten. Außerdem wird ein Zustand der zusätzlichen Bits nicht verwendet. Wie kann das sein?

Mir muss ein Fehler unterliegen.
Benutzeravatar
CodeCommander
Beiträge: 213
Registriert: 02.03.2014 16:06

Beitrag von CodeCommander »

es_91 hat geschrieben:Mir muss ein Fehler unterliegen.
Ist das nicht immer so? ;)
Zuletzt geändert von CodeCommander am 18.01.2015 14:27, insgesamt 1-mal geändert.
~ DELETE ~
Benutzeravatar
NicTheQuick
Ein Admin
Beiträge: 8679
Registriert: 29.08.2004 20:20
Computerausstattung: Ryzen 7 5800X, 32 GB DDR4-3200
Ubuntu 22.04.3 LTS
GeForce RTX 3080 Ti
Wohnort: Saarbrücken
Kontaktdaten:

Re: Problem beim Mitten/Seiten-Stereo

Beitrag von NicTheQuick »

Das ist doch normal. Wenn du zwei n-Bit-Werte addierst, dann kriegst du einen (n+1)-Bit-Wert wieder raus, falls es einen Übertrag gab (1 im Sinn...).
Außerdem wird ein Zustand der zusätzlichen Bits nicht verwendet. Wie kann das sein?
Beispiel im Dualsystem: Die zwei 1-Bit-Werte 1 + 1 werden ja auch maximal nur 10 und nicht 11.

Die Reduktion des Datenverbrauchs passiert erst bei der Komprimierung durch z.B. MP3 oder FLAC. Durch Mid/Side-Stereo schafft man einen Kanal (Seitenkanal), der besonders wenig Entropie aufweist und daher gut komprimiert werden kann.
Bild
es_91
Beiträge: 383
Registriert: 25.01.2011 04:48

Re: Problem beim Mitten/Seiten-Stereo

Beitrag von es_91 »

Und der braucht weniger Daten trotz dessen, dass man statt 16 Bit jeweils (für Mitte und Seite) 17 Bit verwenden muss?

Also nochmal für mein Verständniss: wenn ich mit Wavelab Light eine 16 Bit Stereo-Datei in MS-Stereo umwandle (lass mal den rechten Kanal die Mitte sein und den linken Kanal die Seiteninformation) und diese dann in 16 Bit speichere geht mir ein Bit Genauigkeit verloren? (Heißt: die Mitte und die Seite haben dann jeweils die Genauigkeit, die vorher eine 15-Bit Datei gehabt hätte.)
Benutzeravatar
NicTheQuick
Ein Admin
Beiträge: 8679
Registriert: 29.08.2004 20:20
Computerausstattung: Ryzen 7 5800X, 32 GB DDR4-3200
Ubuntu 22.04.3 LTS
GeForce RTX 3080 Ti
Wohnort: Saarbrücken
Kontaktdaten:

Re: Problem beim Mitten/Seiten-Stereo

Beitrag von NicTheQuick »

Das sieht ganz so aus. Aber mehr weiß ich dazu leider auch nicht. Du kannst es übrigens auch ohne Division durch 2 machen, wenn dir das besser gefällt: Joint Stereo - M/S stereo coding.
Bild
es_91
Beiträge: 383
Registriert: 25.01.2011 04:48

Re: Problem beim Mitten/Seiten-Stereo

Beitrag von es_91 »

Mich wundert das. Ich habe mir mal so einen Seitenkanal erzeugt und im Hüllkurvendisplay anzeigen lassen. Sie ist etwas leiser, als die Mittenspur, aber so viel nun auch wieder nicht. Gerade bei moderner Musik, die sowieso lauter ist, als ältere Musik, ist die Seitenspur im Schnitt mindestens halb so laut wie die Mittenspur.

Man bedenke: bei der Pulse-Code-Modulation ist die halbe Lautstärke nur ein Gewinn von 1 Bit (!).

Ich kann mir das bei MP3 gut vorstellen, dass die Seitenfrequenzen auf unter 15 KHz beschränkt werden, was den Speicherbedarf bei komprimierten Formaten etwas einschränkt, aber bei FLAC oder unkomprimierten Formaten ... wo ist da der Gewinn?
Benutzeravatar
NicTheQuick
Ein Admin
Beiträge: 8679
Registriert: 29.08.2004 20:20
Computerausstattung: Ryzen 7 5800X, 32 GB DDR4-3200
Ubuntu 22.04.3 LTS
GeForce RTX 3080 Ti
Wohnort: Saarbrücken
Kontaktdaten:

Re: Problem beim Mitten/Seiten-Stereo

Beitrag von NicTheQuick »

Bei unkomprimierten Daten hast du nirgendwo einen Gewinn. Aber FLAC ist ja komprimiert. Das heißt da hilft es anscheinend auch, sonst würden sie es ja nicht so benutzen. ;)
Bild
Rebon
Beiträge: 263
Registriert: 20.05.2009 19:13

Re: Problem beim Mitten/Seiten-Stereo

Beitrag von Rebon »

es_91 hat geschrieben:Wie man sieht liegt der tatsächliche Datenverbrauch immer um ein Bit höher, also bei den doppelten Möglichkeiten.
Wenn man nur im Falle eines Unterschiedes zwischen linken und rechten Kanal speichert wird der Datenverbrauch verringert, so steht es zumindest in deinem verlinkten Artikel aus der Wiki.
Wiki hat geschrieben:Indem in einen Kanal nur die Information über den Unterschied zu einem vorhandenen oder einem neuen Mittenkanal geschrieben wird, kann die wiederholte Beschreibung gemeinsamer Inhalte vermieden werden.
...
Da bei Stereosignalen in der Regel eine hohe Korrelation beider Stereokanäle vorliegt, ist der Differenzwert oft sehr klein beziehungsweise null und die Information kann effizient etwa in Matrixdarstellung abgespeichert werden.
In der Auflistung zu den Kommandozeilenbefehlen für LAME steht dazu folgendes.
JOINT STEREO is the default mode of encoding. jstereo means the encoder can use (on a frame by frame basis) either L/R stereo or mid/side stereo. In mid/side stereo, the mid (L+R) and side (L-R) channels are encoded, and more bits are allocated to the mid channel than the side channel. When there isn't too much stereo separation, this effectively increases the bandwidth, so having higher quality with the same amount of bits.
Using mid/side stereo inappropriately can result in audible compression artifacts. Too much switching between mid/side and regular stereo can also sound bad. To determine when to switch to mid/side stereo, LAME uses a much more sophisticated algorithm than the one described in the ISO documentation.
http://lame.cvs.sourceforge.net/viewvc/ ... ailed.html
PB 4.00 | Windows XP Home SP3
es_91
Beiträge: 383
Registriert: 25.01.2011 04:48

Re: Problem beim Mitten/Seiten-Stereo

Beitrag von es_91 »

Jop. Danke, Rebon, für diese treffende Auflistung. Tatsächlich, so bin ich jetzt sicher, bedeutet MS-Stereo nur dann eine Speicherplatzeinsparung wenn man einen Algorithmus zum Speichern verwendet, der auf die Entropie eines Kanals blickt. PCM (Pulse-Code-Modulation, wie bei .wav) tut das nicht. Sie speichert einfach ein Diagramm, in dem es die Hüllkurve zeichnet. Und die liegt bei MS-Stereo in der Genauigkeit um ein Bit höher, als beim LR-Stereo. MP3 und Flac, aber, können den Seitenkanal effizienter Komprimieren.

Übrigens: was auch eine ganz nette Art, Speicherplatz zu sparen, ist, ist - wenn man nicht unbedingt Top-Qualität braucht - den Seitenkanal in seiner Abtastfrequenz zu verringern. Mischt man die Kanäle wieder zusammen, sind dann die Höhen zwar Mono, das macht aber wenig, weil das Ohr die sowieso nicht allzu gut orten kann. Kleiner Tipp für angehende Audiophile und Tontechniker.
Antworten