Wie man Video- und Tonstreams flexibilisieren koennte

14/03/2008 - 22:41 von Opossum | Report spam
Wer schon mal Video- oder Radiostreams über das Internet benutzt hat, weiss,
dass üblicherweise Streams in verschiedenen Qualitàtsstufen angeboten
werden, die man am Anfang der Übertragung wàhlen muss. Ist die Bandbreite
zum Streaming-Server irgendwann spàter in der Übertragung zu gering, führt
dies zu stàndigen Aussetzern.

Im Grunde genommen ist das doch eigentlich ein Blödsinn, man könnte
Multimedia-Übertragungen so gestalten, dass Anwendungen flexibel zwischen
Auflösungen wechseln können und ausserdem so, dass - sofern QoS auf dem
betreffenden Netzwerk unterstützt wird - zur Darstellung wichtigere Daten
bevorzugt behandelt werden.

Kurz: Anstatt nur zwischen "Làuft" oder "Làuft nicht" unterscheiden zu
können, könnte man Multimedia-Streaming so gestalten, dass es zwischen
Làuft und Làuft nicht eine ganze Anzahl verschiedener Qualitàtsabstufungen
gibt.

Meine Idee:

Bild- und Tondaten werden zur Kompression üblicherweise in den Frequenzraum
transformiert, wobei dann höhere Frequenzen abgeschnitten oder stàrker
komprimiert werden. Diese Transformation findet ohnehin schon statt.
Anstatt nach dieser Transformation alles über den gleichen Stream zu
verschicken, könnte man verschiedene nach Frequenzen getrennte Streams
verwenden. Die tieferen Frequenzen brauchen weniger Platz uns sind für den
optischen und akustischen Eindruck am wichtigsten.

Multimedia-Empfànger würden nun natürlich zuerst den Stream mit den
niedrigen Frequenzen abonnieren, wenn dann noch Platz ist, den
nàchsthöheren usw. bis sie am Schluss bei der höchsten Qualitàt angelangt
sind. Sofern QoS verfügbar ist, könnte man den wichtigen niedrigen
Frequenzen eine höhere Prioritàt beimessen, denn wenn die höheren
Frequenzen ausfallen, ist immer noch eine Grundfunktionalitàt vorhanden.

Die Idee ist nicht neu, sie wird z.B. auch bei Jpeg zum Teil angewandt, s.
hier: http://de.wikipedia.org/wiki/JPEG#P...sives_JPEG

Bei "progressivem jpeg" werden zuerst die niedrigen Frequenzen übertragen,
anschliessend die höheren, was für den Betrachter dann so aussieht, dass
das ganze Bild schnell in einer sehr groben Fassung heruntergeladen ist und
sich anschliessend nach und nach verfeinert. Nach dem gleichen Prinzip
könnte man auch Videos und Ton übertragen: Wer genügend Bandbreite hat,
làdt alle Streams und hat so die hohe Qualitàt, wer wenig Bandbreite hat,
nur die für die niedrige Qualitàt, dazwischen sind viele Abstufungen
denkbar.

Auf diese Weise könnte man auch gleich eine Art Congestion Control einbauen:
Empfànger, die bemerken, dass nicht mehr alle Pakete ankommen,
desabonnieren die Streams mit den höheren Frequenzen und geben so einen
Teil der von ihnen verwendeten Bandbreite wieder frei. Dieses Prinzip
funktioniert dann auch mit Multicasting.

Die Serverbetreiber können sich im Fall von Multicasting auch sparen, ihr
Programm in verschiedenen Qualitàtsstufen auszustrahlen, weil dies dann auf
die Empfànger verlagert wird. Dies spart Bandbreite.

Ich mache ein Fallbeispiel mit Tonübertragung, weil dies aus meiner Sicht
intuitiver ist: Mit der Übertragung von Videos ginge es analog.

Damit man einem Gespràch folgen kann, müssen Frequenzen von 0 - 5000 Hz
übertragen werden. Es gibt dann zwar Rauschen
(sogenannte "Telefon-Qualitàt"), aber man versteht noch, was gesagt wird.
Zur Übertragung von 5000 Hz sind nach dem Abtasttheorem 10'000 Samples pro
Sekunde notwendig.

Um den absolut perfekten Klang zu haben, müssen Frequenzen bis 40'000 Hz
übertragen werden, wofür dann 80'000 Samples pro Sekunde nötig sind.

Man könnte nun verschiedene Streams machen:

- Stream 1: Übertràgt Frequenzen bis 5'000 Hz.
- Stream 2: Ergibt kombiniert mit Stream 1 eine Übertragung von Frequenzen
bis 10'000 Hz.
- ...
- Stream n: Übergibt kombiniert mit den Streams 1 bis n-1 eine Übertragung
von Frequenzen bis 2500*2^n Hz.

Jeder Stream braucht dreimal soviel Bandbreite wie sein Vorgànger. Bei drei
Streams sieht man unten die Reihenfolge der Abtastpunkte:

1 3 3 3 2 3 3 3 2 3 3 3 2 3 3 3 1 3 3 3 2 3 3 3 2 3 3 3 2 3 3 3 1

Stream 1 sorgt dafür, dass man Sprache noch versteht und braucht 1/16 der
maximalen Bandbreite.
Stream 2 sorgt dafür, dass Frequenzen bis 10'000 Hz übertragen werden, was
eine qualitativ bessere Übertragung ergibt. Er braucht 3/16 der Bandbreite.
Stream 3 sorgt dafür, dass Frequenzen bis 20'000 Hz übertragen werden, was
in etwa durchschnittlicher MP3-Qualitàt entspricht, er braucht 4/16 = 3/4
der Bandbreite.
(Weitere Streams wàren natürlich denkbar).

Man sieht: Je nachdem, wieviel Bandbreite zur Verfügung steht, abonniert ein
Empfànger eine unterschiedliche Anzahl an Streams, beginnend mit Stream 1.
Dadurch ergibt sich dann eine unterschiedliche Qualitàt, die vom Empfànger
jederzeit gewechselt werden kann. Durch die Verwendung von QoS kann man
darüber hinaus noch sicherstellen, dass zuerst Pakete von Stream 3 gekippt
werden. Bei der Verwendung von UDP können die Empfànger ausserdem, wenn sie
Paketverlust bemerken, den qualitativ hochwertigsten Stream desabonnieren
und so 3/4 der von ihnen verwendeten Bandbreite freigeben, man hat also
dann auch mit UDP eine Art Congestion Control.

Bei der Übertragung von Videodaten könnte man das gleiche Prinzip natürlich
ebenfalls anwenden, darauf gehe ich aber hier nicht nàher ein.

Gruss

Opossum°
Ich bin hier nur das Opossum°.
 

Lesen sie die antworten

#1 Detlef
14/03/2008 - 22:49 | Warnen spam
On 14 Mrz., 22:41, Opossum wrote:
Wer schon mal Video- oder Radiostreams über das Internet benutzt hat, weiss,
dass üblicherweise Streams in verschiedenen Qualitàtsstufen angeboten
werden, die man am Anfang der Übertragung wàhlen muss. Ist die Bandbreite
zum Streaming-Server irgendwann spàter in der Übertragung zu gering, führt
dies zu stàndigen Aussetzern.

Im Grunde genommen ist das doch eigentlich ein Blödsinn, man könnte
Multimedia-Übertragungen so gestalten, dass Anwendungen flexibel zwischen
Auflösungen wechseln können und ausserdem so, dass - sofern QoS auf dem
betreffenden Netzwerk unterstützt wird - zur Darstellung wichtigere Daten
bevorzugt behandelt werden.

Kurz: Anstatt nur zwischen "Làuft" oder "Làuft nicht" unterscheiden zu
können, könnte man Multimedia-Streaming so gestalten, dass es zwischen
Làuft und Làuft nicht eine ganze Anzahl verschiedener Qualitàtsabstufungen
gibt.

Meine Idee:




Du hattest noch nie Ideen.

Könntest Du nicht mal den Tumor entfernen lassen?

Vielleicht gibt es ja mittlerweile brauchbare Gehirnprothesen.

Ähnliche fragen