Streaming Video over the Internet: Approaches and

Transcription

Streaming Video over the Internet: Approaches and
fdfRheinisch-Westfälische
Hochschule
Aachen
Lehrstuhl fürTechnische
Informatik
IV
Prof. Dr. rer. nat. Otto Spaniol
Streaming Video over the Internet:
Approaches and Directions
Seminar: Datenkommunikation und Verteilte
Systeme
Wintersemester 02/03
Nicole Schneider
Matrikelnummer: 224103
Betreuung: Imed Bouazizi
Lehrstuhl für Informatik IV, RWTH Aachen
Inhaltsverzeichnis
1. Einleitung ...................................................................................................3
2. Video Komprimierung.................................................................................4
3. Adaptives Video Streaming .........................................................................5
3.1 Staukontrolle .................................................................................................5
3.2 Skalierbare Videokomprimierung.......................................................................7
3.2.1 Fine Granularity Scalability............................................................................8
4. Fehlerkontrolle .........................................................................................10
5. Verteilungsdienste für kontinuierliche Medien............................................11
6. Protokolle für Video Streaming..................................................................12
6.1 Transportprotokolle ......................................................................................12
6.2 Session Kontrollprotokolle .............................................................................13
7.Streaming Server ....................................................................................14
7.1 Echtzeit Betriebssystem .................................................................................15
7.1.1 Prozess Management ..................................................................................15
7.1.2 Ressourcen Management .............................................................................15
7.1.3. Datei Management ....................................................................................16
7.2 Speichersystem............................................................................................16
8. Medien Synchronisation ......................................................................18
9. Zusammenfassung ................................................................................19
2
1. Einleitung
In den letzten Jahren hat das Internet immer mehr an Größe und Bedeutung gewonnen.
Besonders die Übertragung von Echtzeit Multimedia ist immer häufiger geworden. Darunter
fällt auch die Übertragung von gespeicherten Videodateien, die auf zwei verschiedene Arten
vorgenommen werden kann. Bei der „download“ Methode wird die gesamte Information
vom Benutzer auf seinen Computer runtergeladen und erst im Anschluss daran abgespielt.
Dies führt jedoch zu einer sehr langen, meist unakzeptablen Wartezeit.
Im Kontrast dazu steht die Methode des Video Streaming. Hier muss der Benutzer nicht
warten bis die kompletten Informationen bei ihm auf dem Rechner angekommen sind,
sondern kann das Video schon während der Übertragung abspielen. Dazu wird auf dem
Computer des Benutzers ein kleiner Puffer eingerichtet, indem ein Teil der Informationen des
Videofiles geladen werden. Sobald der Puffer voll ist (meist nach ein paar Sekunden) wird das
Video mit Hilfe der Informationen aus dem Puffer abgespielt.
Diese Art der Videoübertragung wird jedoch vom Internet nicht besonders unterstützt und
führt somit zu einer Reihe von Problemen.
Um einen Einblick in die Probleme von Video Streaming zu bekommen muss man sich mit
folgenden sechs Schlüsselgebieten befassen, die alle eine Rolle beim Prozess des Video
Streaming spielen: Videokomprimierung, Streaming Server, Tools zur Qualitätssicherung auf
der Anwendungsebene, Protokolle für Video Steaming, Verteilungsservice für kontinuierliche
Medien und Synchronisation.
Abbildung 1: Architektur von Video Streaming
Streaming Server
Klient/Receiver
Video
Decoder
Storage Device
RAW Video
Raw Audio
Compressed
Video
Audio
Decoder
Application layer
QoS
Application layer
control
QoS
Compressed
Audio
Transport
Protocols
control
Transport
Protocols
Internet
Verteilungsservice
In Abbildung 1. ist der Zusammenhang der einzelnen Gebiete beim Prozess des Video
Streamings dargestellt. Die unbearbeiteten Video und Audio Daten werden mittels
Video/Audio Kompressionsalgorithmen komprimiert und anschließend im Speicherbereich
des Streaming Servers gesichert. Entsprechend der Anforderungen der Klienten fordert der
Streaming Server die komprimierten Video/Audio Daten aus dem Speicherbereich an. Die
Kontrollmodule zur Qualitätssicherung auf Anwendungsebene passen den Video/Audio bit3
Stream an den Netzwerkstatus sowie die Qualitätsanforderungen an. Nach der Anpassung
packen die Transportprotokolle die komprimierten Bit-Streams und versenden die Pakete
übers Internet. Im Internet tritt häufig Überfüllung auf so dass Verteilungsdienste für die
kontinuierliche Medien eingesetzt werden, um die Qualität der Video/Audio Übertragung zu
verbessern. Pakete die erfolgreich beim Empfänger angekommen sind passieren zuerst die
Transportebene und werden anschließend auf der Anwendungsebene bearbeitet und
schließlich entschlüsselt. Die Synchronisation zwischen den Video und Audio Daten wird mit
Hilfe von Medien Synchronisationstechniken hergestellt. Dies ist jedoch nur eine einfache
Darstellung, die die Zusammenarbeit der einzelnen Komponenten nicht explizit aufzeigt.
Im folgenden werden die einzelnen Gebiete genauer betrachtet, d.h. ein Überblick über die
verschiedenen Ansätze gegeben, wobei das Gebiet der Komprimierung etwas genauer
betrachtet wird.
2. Video Komprimierung
Die Übertragung von Videodateien wird effizient gestaltet, indem die Videodaten bevor sie
versendet werden komprimiert werden und somit der Bandbreitenverbrauch niedrig gehalten
wird. Für die Kompression von Videodaten sind verschiedene Schritte notwendig (Abb. 2):
1. Die Datenaufbereitung
Hier wird eine geeignete digitale Darstellung der Information des zu verarbeiteten
Mediums erzeugt. Ein Bild wird dazu beispielsweise in Blöcke zu 8*8 Pixel mit
festgelegten Anzahlen von Bits pro Pixel zerlegt.
2. Transformation (DCT)
Eine Transformation ist ein definierter mathematische r Prozess, die diskrete Kosinus
Transformation im speziellen bewirkt eine Transformation vom zweidimensionalen
Vektorraum der Bildebene in den zweidimensionalen Frequenzbereich. Eine
Komprimierung ist dadurch jedoch noch nicht erreicht.
3. Quantisierung
Dabei handelt es sich um einen Divisionsprozess gefolgt von einer Rundung der
Werte. Quantisierung eliminiert irrelevante Informationen, die in den Koeffizienten
mit kleinen Werten enthalten sind.
4. Entropie Kodierung
Im letzten Schritt wird nun die eigentliche Reduzierung der Datenrate erreicht.
Entropie Kodierung verändert dabei die Art wie die Daten dargestellt werden.
Kodierung mit variabler Bitlänge ist eine mögliche Technik, bei der man die
Wahrscheinlichkeit untersucht mit der bestimmte Werte auftreten und diese dann
durch entsprechend lange oder kurze Kodes darstellt.
Abbildung 2: nicht skalierbare Komprimierung
Video
Datenaufbereitung
Transformation
DCT
Quantisierung
Entropie Kodierung
Komprimierter
bit-Stream
4
3. Adaptives Video Streaming
Hierbei handelt es sich um die Möglichkeit, Videodaten an den zur Verfügung stehende
Netzwerkstatus anzupassen. Videokomprimierung arbeitet hier zusammen mit
Kontrollfunktionen, d.h. man hat die Möglichkeit die Videokomprimierung entsprechend den
Informationen über die Zielrate, die man mittels Ratenkontrolltechniken ermitteln kann,
anzupassen. Im folgenden werden zuerst die verschiedenen Möglichkeiten von
Kontrollmechanismen vorgestellt und anschließend Komprimierungstechniken, die sich diese
Methoden bei der Komprimierung zu Nutze machen.
Das Ziel von Staukontrolle ist die Maximierung der Videoqualität in bezug auf das Problem
Paketverlust. Staukontrolle wird vom Endsystem ausgeführt und benötigen keine
Unterstützung des Netzwerks.
3.1 Staukontrolle
Verlust von Paketen oder Verzug, meistens ausgelöst durch Netzwerküberfüllung kann eine
verheerende Auswirkung auf die Qualität von Videosequenzen haben.
Staukontrolle am End-System ist daher sehr wichtig um Verzug zu verhindern bzw. zu
minimieren. Staukontrolle vollzieht sich dabei in der Form der Ratenkontrolle.
Ratenkontrolle versucht durch Anpassung der Rate des Videostroms an die zur Verfügung
stehende Bandbreite des Netzwerk die Überfüllung zu minimieren.
Ratenkontrolltechniken können in 3 Kategorien unterteilt werden: Sender basierte
Ratenkontrolle, Receiver basierte Ratenkontrolle und Hybrid Ratenkontrolle.
3.1.1 Sender basierte Ratenkontrolle
Bei der Sender basierten Ratenkontrolle ist der Sender für die Anpassung der Rate an die
entsprechende Bandbreite verantwortlich. Basierend auf Feedback Informationen über das
Netzwerk kann der Sender die Rate des Videostroms regulieren. Die Sender basierte
Ratenkontrolle kann unicast [4] und multicast [5] angewandt werden. Für unicast existieren
zwei Methoden von Sender basierter Ratenkontrolle: experimentellbasierte und
modellbasierte[6] Methode. Die experimentellbasierte Methode basiert auf Experimenten. Es
wird nach der zur Verfügung stehenden Netzwerkbandbreite geforscht, indem die Senderate
so angepasst wird, das eine Paketverlustrate p unter einer bestimmten Schwelle Pth gehalten
werden kann. Man versucht also die Rate solange zu erhöhen, bis die Paketverlustrate zu hoch
ist. Diese Technik ist eine gute Möglichkeit die Bandbreite optimal auszunutzen.
Die modellbasierte Methode basiert auf einem Durchsatzmodell der TCP Verbindung. Dabei
kann der Durchsatz der TCP Verbindung durch folgende Formel [7] ausgedrückt werden:
λ=
1.22 × MTU
RTT × p
λ: Durchsatz der TCP Verbindung
MTU: Paketgröße die von der Verbindung genutzt wird
RTT: Rundtripzeit für die Verbindung
p: Paketverlustrate
5
Die Formel wird benutzt, um die Senderate des Videostroms zu regulieren. Bei der
modellbasierten Methode wird die Senderate streng nach dieser Formel berechnet, so dass es
vorkommen kann das mehr Bandbreite zur Verfügung steht, als ausgenutzt wird.
Für multicast benutzt der Sender bei der Sender basierter Ratenkontrolle einen einzelnen
Kanal um das Video zu transportieren „ Single Channel multicast“:
Single Channel multicast ist effizient, da alle Empfänger einen Kanal benutzen, jedoch nicht
flexibel, da man nicht auf die verschiedenen Bandbreitenanforderungen eingehen kann.
3.1.2 Receiver basierte Ratenkontrolle
Bei der Receiver basierte Ratenkontrolle ist der Empfänger für die Ratenkontrolle
verantwortlich. Er reguliert die Rate des Videostroms durch Hinzunahme bzw. Wegnahme
von Kanälen [6]. Die Receiver basierte Ratenkontrolle findet ihre Anwendung meist bei
multicast skalierbaren Videosequenzen. Die verschiedenen Ströme des skalierbaren Videos
entsprechen dabei den verschiedenen Kanälen. Die Receiver basierte Ratenkontrolle kann
ebenfalls in zwei Ansätze unterteilt werden: forschungsbasierter Ansatz und modellbasierter
Ansatz.
Die experimentellbasierte Ratenkontrolle besteht aus zwei Teilen.[8]
1. Wenn kein Stau bekannt ist, forscht der Empfänger nach der zur Verfügung stehenden
Bandbreite durch Hinzunahme eines Kanals/ Streams ⇒ Erhöhung der Rate.
2. Wenn ein Stau bekannt ist, entfernt der Empfänger einen Kanal ⇒ Reduzierung der
Empfangsrate.
Der modellbasierte Ansatz basiert hier ebenfalls auf der Formel zum Durchsatz einer TCP
Verbindung.
3.1.3 Hybrid Ratenkontrolle
Die Hybrid Ratenkontrolle ist eine Mischung von Sender basierter und Receiver basierter
Ratenkontrolle. Beide, Sender und Empfänger sind für die Ratenanpassung verantwortlich.
Eine Technik mit der ma n Ratenkontrolle durchführen kann ist „ Rateshaping“. Das Ziel von
Rateshaping ist die Anpassung der Rate eines komprimierten bit-Streams an die Zielrate. Ein
Rate shaper ist ein Filter, Kodierungs- Filter, Frame dropping Filter, layer dropping Filter
requantisierungs -Filter sind mögliche Filter die zur Ratenanpassung genutzt werden können.
1. Ein Kodierungs- Filter beinhaltet die Möglichkeit einen Videostrom zu komprimieren
und zu de-komprimieren. Er wir eingesetzt zwischen verschiedenen
Komprimierungstechniken, wobei je nach Komprimierungstechnik der Videostrom
nicht vollständig dekomprimiert werden muss.
2. Ein Frame dropping Filter kann zwischen den verschieden Frame Typen unterscheiden
und die Frame bezüglich ihrer Wichtigkeit versenden. Der Frame dropping Filter wird
benutzt um die Datenrate eines Videostroms zu reduzieren, indem man eine Reihe von
Frames verschickt und die anderen bei einer niedrigeren Rate übermittelt. Der Frame
dropping Filter kann entweder beim Sender [9] eingesetzt werden oder im Netzwerk (
siehe Teil 5).
3. Ein layer dropping Filter kann die verschiedenen Ebenen bezüglich ihrer Wichtigkeit
unterscheiden. Die Ordnung ist vom höchsten Verbesserungsstrom bis hin zum
Hauptstrom.
4. Ein Frequenz Filter führt Operationen auf den komprimierten Videostrom durch,
genauer gesagt in dem Frequenz Bereich ( DCT Koeffizienten). Frequenz Filter
Mechanismen beinhalten Tiefpass Filter, farbreduzierungs- Filter und farbmonochrom
Filterung. Der Tiefpass Filter wird benutzt um die DCT Koeffizienten auf eine höhe re
6
Frequenz zu legen. Ein farbreduzierungs- Filter arbeitet genauso wie ein Tiefpass
Filter, jedoch nur auf den monochromen Informationen des Videostroms. Ein
farbmonochrom Filter entfernt alle Farbinformationen aus dem Videostrom.
Der Frequenz Filter reduziert die Bandbreite ohne Veränderung der Frame Rate, so
das diese Filterung sich auf die Qualität der einzelnen Frames auswirkt
5. Ein requantisierungs-Filter operiert auf dem komprimierten Videostrom, genauer
gesagt arbeitet er auch auf den DCT Koeffizienten. Dazu leitet der Filter die DCT
Koeffizienten aus dem komprimierten Videostrom mit Hilfe von dequantisierungsTechniken her. Dann werden die DCT Koeffizienten wieder re-quantisiert, wobei es
sich bei dieser Quantisierung um eine größere Quantisierung handelt, d.h. es wird
durch eine größeren Wert dividiert so das die Übertragungsrate reduziert werden kann.
3.2 Skalierbare Videokomprimierung
Videokomprimierungstechniken können in 2 Kategorien unterteilt werden: skalierbare und
nicht skalierbare Videokomprimierung. Bei einer nicht skalierbaren Komprimierungstechnik
wird ein einzelner komprimierten Bit- Strom erzeugt (Abb.2), wohingegen bei einer
skalierbaren Technik aus einer Videosequenz verschiedene Teilströme entstehen (Abb.3). Die
skalierbare Videokomprimierung biete die Möglichkeit der Anpassung an die
Bandbreitenschwankungen im Internet und bietet sich somit für Video Straeming besonders
an.
Die verschiedenen Teilströme die nach einer skalierbaren Kodierung vorliegen kann man in
einen sogenannten Base layer Bitstrom und in Enhancement Ströme unterteilen. Der
Hauptstrom kann unabhängig von den anderen entschlüsselt werden und erzeugt eine
Videosequenz von grober Qualität. Die anderen Ströme sind Verbesserungsströme, die nur in
Verbindung mit dem Hauptstrom entschlüsselt werden können. Diese weiteren Ströme
erhöhen die Qualität der Videosequenz. Der komplette Bit-Strom, d.h. alle Ströme zusammen,
liefert die beste Qualität. Die Entschlüsselung von nur einen Teil der Ströme kann sich auf die
Qualität der Videosequenz unterschiedlich auswirken. Es kann zu Verringerung der
Bildqualität, der Bildgröße sowie zur Verringerung der Framerate führen.
Diese Skalierbarkeit der Qualität, Bildgröße oder Framerate nennt man SNR, räumliche,
zeitliche Skalierbarkeit, sie bilden die 3 Hauptskalierungstechniken.
Abbildung 3: Skalierbare Komprimierung
Video
DCT
+
Q
-
EK
Hauptstrom
IQ
Q
EK
Teilströme
Diese Skalierbarkeit beinhaltet also die Möglichkeit, entweder den Hauptstrom zu versenden
oder den Hauptstrom und Verbessehrungsströme, je nach den Anforderungen der Klienten.
7
Die Entscheidung darüber welche Ströme versendet werden vollzieht sich mit Hilfe der
Receiver basierten Ratenkontrolle. Die Empfänger geben Auskunft über ihre Situation, d.h.
fordern entweder nur den Hauptstrom, oder den Hauptstrom und verschiedene
Verbesserungsströme und der Sender verschickt die entsprechenden Ströme.
3.2.1 Fine Granularity Scalability
Fine Granularity Scalability (FGS) [2] [33] [34] ist ein Verfahren, welches noch mehr
Flexibilität bezüglich der Anpassung an die verschiedenen Anforderungen der Klienten sowie
Bandbreitenschwankungen im Netzwerk bietet während die Einfachheit des
Komprimierungsverfahren beibehalten wird. FGS wird bei MPEG-4 [35] angewandt.
MPEG ist eine Abkürzung für Moving Picture Expert Group. Dieses MPEG Komitee ist eine
Arbeitsgruppe in deren Zusammenarbeit die Standards MPEG-1, MPEG-2, MPEG-4 und
MPEG-7 entstanden sind.
Bei MPEG läuft die Kompression der Videodaten Bildweise ab. Dabei kann man ein
Einzelbild auf vier verschiedene Weisen kodieren: als I-Frame ( Intra Coded Frame), als PFrame (Prediction Coded Frame), als B-Frame (Bidectionally Prediction Coded Frame) oder
als D-Frame (DC-coded Frame). Die I-Frames werden wie ein Standbild mit den Methoden
der JPEG- Komprimierung behandelt. Bei den P- und B-Frames macht man sich zunutze, dass
viele Informationen redundant sind, wenn man eine Videosequenz kodieren will. Der
Unterschied zwischen P- und B-Frames liegt darin, dass sich die ersteren nur auf die
Vergangenheit beziehen, also die Unterschiede zu vorher gezeigten Bilder berechnet werden,
während bei B-Frames der Bezug in beide Richtungen stattfinden kann.
FGS ist ein skalierbares Komprimierungsverfahren, welches eine Videosequenz in zwei
verschiedene Ströme, den Hautstrom und einen Verbesserungsstrom erzeugt. Im Gegensatz zu
den herkömmlichen Verfahren ermöglicht FGS die Anpassung des Verbesserungsstrom mit
Hilfe von Bitplane Kodierung, so dass die Möglichkeit besteht nur einen Teil des
Verbesserungsstrom zu versenden. Dazu wird ein DCT Koeffizient durch 7 Bits dargestellt.
Jeder der Koeffizienten besitzt ein most signifikant Bit (MSB), welches zusammen mit den
anderen MSB der 64 Koeffizienten die Bitebene 0 bildet. Das zweit wichtigste Bit der 64
Koeffizienten bildet entsprechend die Bitebene 1( Abbildung 4).
Abbildung 4: Bitebenen der Enhancement DCT Koeffizienten.
Bitplane 0
Bitplane 1
.
.
. . .
Bitplane k
DCT
Coefficient 0
DCT
Coefficient 1
DCT
Coefficient 63
Entsprechend der Zielrate können nun verschiedene Anzahlen von Bits versendet werden.
Dazu werden beim Verbesserungsstrom zuerst alle möglichen Bitschifts berechnet, d.h. die
Darstellung des Verbesserungsstrom durch 1 Bit (MSB) bis k Bits. Mit Hilfe von Sender
basierter Ratenkontrollte kann nun bestimmt werden wie viele Bits maximal versendet
8
werden können, um eine möglichst gute Qualität zu erreichen unter der zur Verfügung
stehenden Bandbreite. Der Sender reguliert die Anzahl der Bits des Verbesserungsstrom mit
Hilfe von Feedbackinformationen. Die einzelnen Schritte von FGS die beim Sender
vorgenommen werden sind in Abbildung 5 dargestellt.
Abbildung 5: FGS Kodierung beim Sender
Raw
Video
DCT
Q
-
Base layer
Compressed
Bit-stream
EK
IQ
Bitplane
Schift
Find
Maximum
Enhancement
Compressed
Bit-Stream
Bitplane
EK
Rate
Control
Beim Empfänger wird der Verbesserungsstrom in umgekehrter Weise behandelt. Hier wird
ein Rückschiften vorgenommen, indem die fehlenden Bits mit Nullen aufgefüllt werden. Die
Grundschritte von FGS, die beim Empfänger vorgenommen werden sind in Abbildung 6
dargestellt.
Abbildung 6: FGS Dekodierung auf Empfänger Seite
Base layer
Compressed
Bit-stream
Enhancement
Compressed
Bit-Stream
EK
Bitplane
EK
IQ
Bitplane
Schift
IDCT
+
IDCT
Decoded
Video(Bl)
Decoded
Video(El)
In den beiden Abbildung sieht man deutlich das die Skalierung nur am Verbesserungsstrom
geschieht. Die Komprimierung des Hauptstrom wird nicht verändert.
Progressive fine granularity scalability ( PFGS ) [36] ist eine Erweiterung von FGS, welche
die Vorteile von FGS wie Bitraten Skalierbarkeit und Fehle rresistenz auch weiterhin besitzt,
jedoch nicht nur mit einem Base layer und einem Enhancement layer arbeitet sondern mit
mehreren .
9
4. Fehlerkontrolle
Paketverlust ist ein Problem im Internet, welches zu bedeutenden Qualitätsverlust führen
kann. Somit ist großer Bedarf nach einer Technik zur Maximierung von Videoqualität trotz
Paketverlust. Fehlerkontrolle ist ein Mechanismus zur Erfüllung dieses Ziels.
Fehlerkontrolltechniken sind FEC, Rückübermittlung, Fehlerresistente
Kodierung/Dekodierung und Fehlerverbergung.
1. Das Prinzip von FEC besteht darin redundante Informationen an die Originalnachricht
anzuhängen, so das diese trotz Paketverlust rekonstruiert werden kann. In Bezug auf
die redundanten Informationen die an die Nachricht angehängt werden kann man FEC
in drei Bereiche unterteilen: Kanal Kodierung, Source coding based FEC und joint
source/ Kanal Kodierung [6].
Für Internet Anwendungen wird Kanal Kodierung, in der Form von Blockkodierung,
meistens verwendet. Dafür wird ein Videostrom zuerst in Segmente eingeteilt, von
denen jedes Segment in k Pakete unterteilt wird.
Für jedes Segment wird dann eine Blockkodierung auf die k Pakete angewandt und so
ein n- Paket Block zu generieren, mit n > k. Der Benutzer muss nun zur
Entschlüsselung des Stroms, k-Pakete von dem n-Paket Block erhalten.
Source coding FEC (SFEC) ist eine Variante von FEC, speziell für Videos im Internet
[30].
SFEC fügt ebenfalls redundante Informationen an, um bei Verlust die Nachricht
trotzdem entschlüsseln zu können. Joint source Kanal Kodierung ist ein Ansatz um die
Rate von source Kodierung und Channel Kodierung optimal zu gestalten [6].
2. Rückübermittlung ist ein weiterer Ansatz zur Fehlerkontrolle bei dem der Empfänger
bei Entdeckung des Verlust eines Paketes eine neue Anforderung an den Sender stellt.
Wenn die Zeit der Anforderung kurz genug ist in bezug auf die maximale
Verzögerung die unentdeckt bleibt, ist dieser Ansatz eine gute Möglichkeit der
Fehlerkontrolle.
3. Das Ziel von Fehlerresistenter Kodierung/Dekodierung ist die Erhöhung der
Robustheit von komprimierten Videos bezüglich Paketverlust. MDC ist eine Methode
die im Bereich des Internet angewendet werden kann und eine robuste Internet
Übermittlung verspricht. Multiple description coding ( MDC ) [31] [32] komprimiert
eine unbehandelte Videosequenz in mehrere Ströme, bezüglich ihrer Beschreibungen.
Jede Beschreibung erzeugt eine akzeptable Qualität, wobei die Kombination mehrer
Beschreibungen die Qualität erhöht.
Die Vorteile von MDC sind:
- Robustheit gegenüber Verlust: Wenn ein Empfänger nur eine Beschreibung erhält,
da alle anderen verloren gegangen sind, kann er immer noch das Video
rekonstruieren.
- Erhöhte Qualität: Wenn der Empfänger mehrere Beschreibungen erhält, kann er
diese kombinieren und somit die Qualität erhöhen.
Diese Vorteile bringen jedoch auch Nachteile mit sich. Damit jede Beschreibung eine
akzeptable Qualität erzeugt, muss sie genügend Informationen über das Original Video
beinhalten. Dies führt jedoch zu einer Verringerung der Komprimierungseffizienz.
4. Ein weitere Ansatz zur Fehlerkontrolle ist die Fehlerverbergung, die von dem
Empfänger durchgeführt wird. Es gibt zwei Hauptansätze von Fehlerverbergung:
räumliche und zeitliche Interpolation. Bei der räumlichen Interpolation werden
vermisste Pixelwerte mit Hilfe der räumlich benachbarten Informationen rekonstruiert.
Wohingegen bei der zeitlichen Interpolation die verlorenen Daten durch die Daten der
vorangegangen Frames ersetzt.
10
5. Verteilungsdienste für kontinuierliche Medien
Zur Lieferung qualitativ hochwertige Multimedia Präsentationen ist die entsprechende
Netzwerkunterstützung entscheidend, denn Unterstützung von Seiten des Netzwerk bedeutet
Reduzierung des Verzug während des Transport sowie Verringerung der Paketverlustrate.
Eine sich in der Entwicklung befindende Idee sind Verteilungsdienste für kontinuierliche
Medien, die auf oberster Netzwerkebene arbeiten und zur Effizienz von Video/Audio
Streaming beitragen. Netzwerk Filterung, application- level multicast und Datenkopie sind
Methoden zur Realisierung dieser Dienste.
1. Netzwerk Filterung arbeitet in Form einer Staukontrollfunktion mit dem Ziel die
Videoqualität während eines Staus im Netzwerk maximal zu halten. Die
Funktionsweise von Netzwerk Filter wird anhand einem Modell in Abbildung 9
verständlich [27].
Abbildung 9 : System Modell für Netzwerk Filter
Kontrolle
Server
Kontrolle
Filter
Daten
Klient
Daten
Das Modell besteht aus einem Server einem Klienten einen Filter und zwei Kanäle zwischen
Ihnen. Der eine Kanal wird zur Kontrolle verwendet der andere zu Datenübertragung. Der
Filter hat auf der Kontrollebene, Datenebene verschiedene Aufgaben zu erfüllen Auf der
Datenebene empfängt der Filter Videoströme vom Server oder anderen Filtern und versendet
das Video entsprechend der Zielrate zu einem weiteren Filter oder einem Klienten. Die
Operationen des Filters auf Kontrollebene beinhalten die Verarbeitung von Anfragen eines
Klienten oder anderer Filter, bzw. die Weiterleitung dieser Anfragen. Frame-dropping Filter
können als Netzwerk Filter verwendet werden. Der Empfänger kann so dem Filter
Anforderungen senden und dieser mit entsprechendem erhöhen oder erniedrigen der Framerate reagieren. Vorteile von Frame dropping Filter innerhalb des Netzwerk sind die
Verbesserung der Videoqualität und Einsparung von Bandbreite, mittels dem Verwurf zu
später Frames
2. Eine weitere Idee zur Verbesserung der Netzwerkunterstützung bezüglich
kontinuierlichen Medien ist IP multicast [28] eine Erweiterung der IP Schicht. IP
multicast ermöglicht effiziente Mehrpunkt Paketlieferung. Dazu erweitet IP multicast
IP dadurch, dass einer Gruppe von Benutzer eine Gruppenadresse zugeordnet wird.
Die Information muss nun nicht zu jedem einzelnen Benutzer geschickt werden,
sondern nur einmal zu der IP Gruppenadresse. Jedoch gibt es noch viele Probleme
bezüglich IP Multicast wie Skalierbarkeit, Netzwerk Management, Verteilung und
Unterstützung von Funktionen höherer Ebenen, wie z.B. Staukontrolle.
Aus diesen Problemen ist die Idee von application- level multicast [29] entstanden.
Die Idee von multicast auf Anwendungsebene ist der Versuch den multicast Routern
Funktionalitäten zuzuordnen. Sie sollen nicht mehr nur für die Weiterleitung von
Paketen zuständig sein, sondern verschiedene Aufgaben auf Anwendungsebene
übernehmen. So könnte ein Router beispielsweise die Funktion eines Filters
übernehmen. Falls z.B. ein Empfänger nur an dem Empfang eines schwarz- weiß
11
Videos interessiert ist, kann der Router die Farbinformationen rausfiltern und somit
Bandbreite einsparen. Ein großer Motivationspunkt bei der Forschung in diese
Richtung ist sicherlich die Tatsache, dass die Router im Netzwerk arbeiten und somit
Informationen über den Netzwerkstatus haben und dementsprechend reagieren
können.
3. Eine Technik um die Skalierbarkeit von einem Verteilungssystem zu verbessern ist
Datenkopie. Diese kann zwei verschiedene Formen annehmen, die jedoch beide zu
den gleichen Verbesserungen, wie Reduzierung des Verzug, Reduzierung des
Ladevorgang des Servers sowie Erhöhung der Verfügbarkeit von Daten, führen.
„Mirroring“ kopiert die Originaldaten und speichert die Kopien auf anderen
Maschinen verteilt im Internet, während die Originaldaten auf dem Hauptspeicher
gespeichert bleiben. Klienten die nun eine Anfrage bezüglich der Daten haben können
die Daten von dem Server verlangen der ihnen am nächsten ist. Caching ist die zweite
Möglichkeit bei der Daten, die von einem Klienten angefordert werden lokal
gespeichert werden. Ein sogenannter Cache fordert die Daten vom Server an und
speichert eine Kopie der Daten lokal, so dass bei einer nächsten Anfrage der Daten die
Kopie direkt vom Cache weiter gegeben werden kann ohne eine Anfrage an den
Server vorzunehmen.
6. Protokolle für Video Streaming
Computer kommunizieren miteinander auf vielen verschiedenen Ebenen. Ein Protokoll ist
eine Menge von Regeln, die die Kommunikation zwischen zwei Computern beschreibt und
bestimmt. Bezüglich ihrer Funktionsweise können Internetprotokolle in drei verschiedene
Kategorien eingeteilt werden.
1. Network- layer Protokoll ist für die grundlegenden Informationen in einem Netzwerk
verantwortlich, wie z.B. die Adressierung.
2. Transportprotokolle sind z.B. TCP, UDP, RTP, RTCP.
3. Session Kontrollprotokolle bestimmen Verfahren, um den Empfang von
Multimediadaten während einer Sitzung zu kontrollieren.
6.1 Transportprotokolle
TCP ist ein Transport Protokoll welches entwickelt wurde um die Zuverlässigkeit von
Datenübertragungen zu gewährleisten. Dies geschieht, indem TCP die Pakete mit Nummern
versieht und der Empfänger den Empfang eines Pakets bestätigen muss, bevor das nächste
Paket gesendet wird. TCP ist für die Übertragung von Videoströmen nicht geeignet, da ein
Videostrom gleichmäßig übertragen werden muss und eine Unterbrechung aufgrund von
Paketverlust zu Verzerrung führen würde, da TCP die zeitlichen Beziehungen, die zwischen
den Videoframes und Audio Paketen herrscht zerstören würde.
UDP arbeitet auf der gleichen Ebene wie TCP, jedoch führt UDP keinen Kontrollfluss durch,
d.h. es wird auf die Zuverlässigkeit bei der Übertragung der Daten verzichtet. UDP sendet die
Daten in einen gleichmäßigen Strom direkt zum Empfänger, so dass die Resultate der
Übertragung nur von der Geschwindigkeit der Verbindung abhängt. Es kann bei der
Übertragung von Videoströmen zwar zu Lücken aufgrund von Paketverlust kommen, jedoch
wird das Video kontinuierlich dargeboten und nicht wie bei TCP komplett unterbrochen.
RTP [23] [24] ist das Internet Standard Protokoll für den Transport von Echtzeitdaten.
RTP besteht aus einem Daten- und einem Kontrollteil. RTP besitzt nicht alle Funktionen eines
Transportprotokolls und arbeitet mit TCP oder UDP zusammen. RTP hat jedoch den Vorteil
12
gegenüber UDP/TCP, dass Funktionen zur Unterstützung von Echtzeitdaten direkt verankert
sind. RTP benutzt Zeitstempel, mit dessen Hilfe die Synchronisation der verschiedenen
Medie nströme einfach durchgeführt werden kann. Außerdem bietet RTP eine Funktion zur
Sequenznummerierung an, um ein Paket besser zu identifizieren. Falls ein Paket außerhalb
der Sequenz ankommt kann der Empfänger es wieder an die richtige Stelle einordnen,
außerdem kann so der Verlust eines Pakets entdeckt werden.
Eine Identifikation von Daten seitens des Empfängers ist mit RTP ebenfalls möglich, da die
Pakete mit einer Kopfzeile, die Auskunft über die Daten gibt. versehen sind.
RTCP [23] ist ein Kontrollprotokoll und soll in Verbindung mit RTP arbeiten. Während einer
RTP Übertragung senden die Teilnehmer RTCP Pakete mit Informationen über die Qualität
der Datenübermittlung.
RTCP bietet hauptsächlich folgende Dienste an:
1. QoS Feedback ist die Hauptfunktion von RTCP. Die feedback Informationen werden
zwischen dem Sender und dem Empfänger in Form von Berichten übermittelt. Diese
enthalten Informationen über die Qualität des Empfangs, wie Prozentzahl der verloren
gegangenen Pakete seit dem letzten Bericht, die Zuna hme des Verlust seit Beginn der
Übertragung, erlaubte Varianz der Verzögerung zwischen den Paketen und
Informationen über den Verzug der Pakete seit dem Empfang des letzten Berichts.
Basierend auf diesen Informationen kann der Sender die Übertragungsrate regulieren
und der Empfänger erkennen, ob die Überfüllung lokal, regional oder global vorliegt.
2. Teilnehmeridentifikation über RTP SDES Pakete. Diese liefern Informationen über
den Benutzer, wie Name, Telefonnummer und E-Mail Adresse.
3. Skalierung von Kontrollpaketen bietet die Möglichkeit die Anzahl der versendeten
Kontrollpakete an die Anzahl der Teilnehmer anzupassen. Dabei ist eine
Mindestversandrate von 5s festgelegt, nach denen ein Kontrollpaket versandt wird.
Eine Kontrolltechnik versucht die Anzahl der Pakete so anzupassen, dass sie 5% der
gesamten Bandbreite in Anspruch nehmen, dabei werden 25% der Kontrollpakete für
Senderberichte verwendet und 75% für Empfängerberichte.
4. Intermedia- Synchronisation kann später mit Hilfe von Echtzeitangaben sowie
Zeitstempel, die in RTCP Sendeberichten enthalten sind, vorgenommen werden.
5. Minimale Session Kontrollinformation zur Übermittlung von Sessioninformationen
wie z.B. die Namen der Teilnehmer.
6.2 Session Kontrollprotokolle
RTSP [25] ist ein Session Kontrollprotokoll für Medien Streaming übers Internet. Eine der
wichtigsten Aufgaben von RTSP ist die Unterstützung von Kontrollfunktionen wie Stop,
Pause, schnell vorwärts und schnell rückwärts laufen des Videos.
RTSP bietet speziell folgende Operationen an:
1. Der Klient hat die Möglichkeit den Server um den Beginn einer Übertragung von
Daten zu bitten.
2. Zufügen von Medien zu einer bereits existierenden Session. Dazu informieren sich der
Klient und der Server gegenseitig darüber, wann Daten während einer existierenden
Session verfügbar werden.
SIP [26] ist ein weiteres Session Kontrollprotokoll. Ähnlich wie RTSP kann SIP ebenfalls
Sessions mit einem oder mehreren Teilnehmern beginnen und beenden. Im Gegensatz zu
RTSP unterstützt SIP die Mobilität des Benutzers, d.h. die Informationen werden dem
Benutzer an seinen aktuellen Standort nachgesendet.
Bei dem Transport eines Videostroms arbeiten alle 3 Protokolltypen wie folgt
zusammen(Abbildung 10). Auf der Senderseite werden die komprimierten Video/Audio
13
Daten angefordert und auf der RTP Ebene verpackt. Die Pakete enthalten Zeit und
Synchronisationsinformationen, sowie Sequenznummern. Nun werden die Pakete weiter über
die UDP/TCP und IP Ebene transportiert und schließlich übers Internet versendet. Für die
Kontrollebene werden die RTCP und RTSP Pakete auf der UDP/TCP Ebene vervielfacht über
die IP Ebene transportiert und versendet. Auf der Empfängerseite wird der Medienstrom in
umgekehrter Weise bearbeitet.
Abbildung 10: Protokoll Stak für Medien Streaming
Daten Ebene
Komprimierte
Videodaten
RTP Ebene
Kontroll Ebene
RTCP Ebene
RTSP/SIP
Ebene
UDP/TCP Ebene
IP Ebene
Internet
7.Streaming Server
Streaming Server spielen eine wichtige Rolle bei der Bereitstellung von Streaming Service.
Um die Dienste zur Verfügung zu stellen müssen Multimedia Daten unter Berücksichtigung
der zeitlichen Bedingungen behandelt werden, um spätere Störungen der Videopräsentation
beim Klienten zu verhindern. Ein Streaming Server besteht aus drei Teilsystemen.
1. Communicator: Ein Communicator umfasst die Anwendungsebene und die
Transportprotokolle, die auf dem Server ausgeführt werden. ( Auf die
Anwendungsebene wurde bereits in Teil 3. eingegangen und auf die
Transportprotokolle in Teil 5.)
2. Betriebssystem: Ein Betriebssystem für Streaming Dienste unterscheidet
sich von einem normalen Be triebssystem durch die Echtzeit Anforderungen der
Streaming Anwendungen, die an es gestellt werden
3. Speichersystem: Ein Speichersystem für Streaming Dienste unterstützt
die Speicherung und Wiedergabe von kontinuierlichen Medien.
14
7.1 Echtzeit Betriebssystem
Das Betriebssystem eines Computers bildet die Schicht zwischen den Hardware- und
Softwarekomponenten eines Rechners. Ein Betriebssystem stellt verschiedene Dienste zum
Zugriff der Anwendungssoftware-Schicht auf die Ressourcen der Computer Hardware ( wie
z.B. CPU, Speicher) zu Verfügung. Nicht alle Betriebssysteme erfüllen die Anforderungen
von Multimediadaten. Eine grundsätzliche Anforderung an das Betriebssystem ist der
Echtzeitbetrieb zum Verarbeiten von kontinuierlichen Medien. Dabei versteht man unter
einem Echtzeitprozess einen Prozess der die Ergebnisse der Berechnung in einer vorgegeben
Zeitspanne liefert. Die Grenze die für eine Berechnung zur Verfügung steht wird dabei durch
eine Deadline beschrieben. Multimedia-Anwendungen erfordern die Verarbeitung
kontinuierlicher Datenströme. Für jede logische Dateneinheit gilt eine Deadline, innerhalb
dessen die Dateneinheit verarbeitet werden muss. Wird diese Deadline durch eine zu große
Abweichung oder Verzögerungszeit verletzt, so kann sich dies durch Verzerrung oder
Aussetzen der Wiedergabe bemerkbar machen.
Die Aufgaben eines Echtzeit Betriebssystem umfassen Prozess Management, Ressourcen
Management sowie Datei Management.
7.1.1 Prozess Management
Der Prozess Manager hat in einem Computer System die Aufgabe die Ressource
„Prozessorzeit“ gerecht den im System laufenden Prozessen zuzuteilen. In heute verbreiteten
Betriebssystemen wird die Auswahl des nächsten auszuführenden Prozesses durch die
Priorität eines Prozesses und die Zeit, die er schon im Wartezustand befindet bestimmt. Diese
Strategie alleine ist für die Echtzeitverarbeitung von kontinuierlichen Datenströmen nicht
geeignet, da ein Prozess keinerlei Zusicherung über die ihm zur Verfügung gestellten
Prozessorzeit hat. Bei einem Echtzeit Betriebssystem muss der Prozess Manager den
Prozessen eine Prozessorzeit zusichern und während der ganzen Laufzeit des Systems die
Rechenzeit so auf die verschiedenen Prozesse aufteilen, dass alle laufenden Prozesse ihre
Deadlines einhalten können. Die Scheduling Verfahren die dazu benutzt werden sind spezielle
Echtzeit Scheduling Strategien. Diese basieren hauptsächlich auf zwei Algorithmen: „earliet
Deadline First (EDF) [10] und „Rate Monotonic Scheduling“[11]. Bei EDF wählt der
Scheduler denjenigen Prozess als nächsten auszuführenden, dessen Deadline als nächstes
abzulaufen droht. Jedesmal, wenn ein neuer Prozess hinzukommt wird der aktuelle
ausgeführte Prozess unterbrochen, die Warteschlange wartender Prozesse neu berechnet und
der neue Prozess sofort ausgeführt, falls seine Deadline kürzer ist als der des unterbrochenen
Prozesses. Durch diesen Algorithmus ist allerdings noch keine Sicherheit für Überlastung
gegeben, jedoch falls es eine Ausführungsreihenfolge gibt bei der alle Deadlines eingehalten
werden, so findet EDF diese Reihenfolge. Der Rate Monotonic Algorithmus ordnet jedem
Prozess zu Beginn eine Priorität entsprechend seiner Anfragerate zu und bearbeitet die
Prozesse dann in der Reihenfolge der Prioritäten.
7.1.2 Ressourcen Management
Die hohen Anforderungen, die Multimedia Datenströme an die Ressourcen von Rechnern
stellen erfordern eine ausgeklügelte Strategie zur Reservierung von Ressourcen für die
einzelnen Ströme. Da die Mittel begrenzt sind kann ein Multimedia Server auch nur eine
begrenzte Anzahl von Klienten bedienen. Ressourcen Management umfasst Techniken zur
Zugangskontrolle sowie Verteilung der Ressourcen und wird zur Anpassung der Ressourcen
an die Zeitanforderung benötigt.
15
Zugangskontrolle bedeutet, dass vor dem Einlass eines neuen Klienten überprüft wird, ob die
neue Verbindung bereits existierende Verbindungen behindert. Falls eine neue Verbindung
genehmigt ist werden die Mittel entsprechend der Anforderungen des neuen Klienten verteilt.
Zugangskontrollalgorithmen könne n in zwei Kategorien unterteilt werden, deterministische
[12] und statistische [13] Zugangskontrolle. Deterministische Zugangskontrollalgorithmen
bieten dem Klienten starke Qualitätssicherheit, wohingegen die statistischen Algorithmen nur
eine statistische Sicherheit bieten, d.h. nur die Erfüllung eines festen Anteil der
Anforderungen wird garantiert. Die Verteilung der Ressourcen kann ebenfalls deterministisch
oder statistisch vorgenommen werden. Beim deterministischen Verteilungsalgorithmen wird
die Reservierung unter Berücksichtigung des „Worst case“ Fall vorgenommen, d.h. es wird
angenommen, dass alle Anwendungen ihre reservierten Ressourcen zu jeder Zeit und zu
100% in Anspruch nehmen. Bei statistischen Algorithmen hingegen werden die Ressourcen
nur auf der Grundlage einer durchschnittlichen Auslastungsquote reserviert. Dies bedingt eine
bessere maximale Auslastung der Ressourcen, kann aber falls alle Anwendungen ihre
reservierten Ressourcen zu 100% benutzen zu einer Überlastungssituation führen.
7.1.3. Datei Management
Die Geschwindigkeit von Festspeicher-Geräten (Festplatten) ist im Vergleich zu anderen
Komponenten eines Computersystems ( CPU, Netzwerk) relativ gering geblieben.
Andererseits sind durch die großen Datenmengen von Multimedia Strömen die
Anforderungen an das Dateisystem stark gestiegen. Neue Anforderungen die nun an das
System gestellt werden sind Echtzeitanforderung, Datengröße, Durchsatz und mehrere
(synchronisierte) Datenströme. Um eine Unterstützung von Multimedia Anwendungen zu
leisten gibt es zwei verschiedene Ansätze. Entweder die Datenorganisation wird gleich
gehalten und neue Disk Scheduling Algorithmen werden eingesetzt oder die
Dateiorganisation wird bezüglich Multimedia Anwendungen optimiert.
Scheduling Verfahren die den Ze itanforderungen gerecht werden sind: SCAN-EDF[14],
grouped sweeping scheduling (GSS) [15] .
1. SCAN-EDF ist eine Kombination von SCAN [16] und EDF. Dieses Scheduling
Verfahren versucht die Optimierung von SCAN und die Echtzeit Garantie von EDF zu
verreinigen.
2. GSS bedient die Anfragen der Ströme im Round Robin Verfahren. Dazu werden die
Ströme in Gruppen unterteilt und die Gruppe dann in einer festen Reihenfolge bedient.
Eine Gruppe wird dabei so erstellt, dass alle Ströme die zu der Gruppe gehören
ähnliche Fristen haben. Innerhalb der Gruppe werden die Ströme mittels SCAN
bearbeitet.
7.2 Speichersystem
Hoher Durchsatz, große Kapazität und Fehlertoleranz [17] sind Anforderungen die von
Multimedia Anwendungen an ein Speichersystem gestellt werden und die im folgenden
genauer durchleuchtet werden.
Erhöhung des Durchsatz wird durch das Auseinanderziehen von Daten erreicht. Wenn eine
Videodatei auf der Festplatte gespeichert ist, wird die Anzahl der Zugriffe zu dieser Datei
durch den Durchsatz der Disk limitiert. Somit wird die Anzahl der Klienten die ein Video zur
gleichen Zeit sehen können limitiert. Um diese Begrenzung aufzuheben werden nun
Techniken eingesetzt, die die Daten auseinanderziehen. Dazu werden die Daten auf mehrere
Disks verteilt auf die dann parallel zugegriffen werden kann. Ein Beispiel ist in Abbildung 7
zu sehen, hier kann Block 1, 2 und 3 von Datei A parallel gelesen werden.
16
Abbildung 7 : Erhöhung des Durchsatz durch parallelen Zugriff
Disk Controller
FileA,
Block 1
File A
Block 2
File a
Block 3
File B
Block 1
File B
Block 2
File B
Block 4
File A
Block 5
File A
Block 6
File B
Block 3
File B
Block 4
.
.
.
.
.
.
.
.
.
.
Die Kapazität eines Speichersystems kann durch ein hierarchischer Speicheraufbau erreicht
werden. Dabei wird nur ein Bruchteil der Daten auf der Festplatte gespeichert während der
Hauptteil auf einem tertiären Band System gespeichert wird ( Abbildung 8 ).
Dabei werden die Video Dateien die häufig angefordert werden auf der Platte gespeichert, um
schnellen Zugriff zu gewährleisten und die restlichen auf dem Band.
Abbildung 8: Hierarchische Speicherarchitektur
Video Server
Buffer Memory
Disk Controller
Tape library
Neuere Speicher-Technologien sind das Network attached storage (NAS) [18] und storage
area Network (SAN)[19] [20]. NAS wurde entwickelt, um der Forderung nach dem
gemeinsamen Nutzen von Daten nachzukommen. Bei diesem Konzept wird der Speicher über
eine Netzwerkkarte direkt an ein LAN angehängt. Somit können die Klienten direkt über
geeignete Protokolle plattformunabhängig auf die Speicherressourcen zugreifen. Diese
Lösung nutzt das vorhandene Netzwerk.
Ein SAN ist ein Hochgeschwindigkeitsnetzwerk zwischen Servern und Speichersubsystemen.
Dabei ermöglicht ein SAN eine any-to-any Verbindung durch das gesamte Netzwerk.
Speicher und Server können getrennt verwaltet werden und jeder Server kann auf jedes
Medium zugreifen.
17
Beide Ansätze NAS und SAN bieten die Möglichkeit der Trennung der Daten vom Server, so
dass das Speicher Management vereinfacht werden kann. Beide haben außerdem folgende
Vorteile gegenüber traditionellen Speichersystemen: zentralisierten Speicher und dadurch
einfaches Speicher Management, Skalierbarkeit und Fehlertoleranz.
Fehlertoleranz die dritte Anforderung die von Multimedia Anwendungen an ein
Speichersystem gestellt wird, bedeutet, dass selbst wenn ein Fehler auf der Festplatte auftritt
muss der Server sicherstellen dass keine Unterbrechung stattfindet. Dies geschieht, indem der
Server die verlorene Informationen mit Hilfe von redundanten Informationen rekonstruiert.
Mit Hilfe der redundanten Informationen können dann entweder die selben Daten generiert
werden oder zusätzliche Daten, die auf einer anderen Platte gespeichert werden.
8. Medien Synchronisation
Ein Hauptunterschied von Multimediaanwendungen zu anderen Datenanwendungen ist die
Synchronisation, d.h. verschiedene Medienströme müssen in richtiger zeitlicher Beziehung
zueinander abgespielt werden. Man kann zwischen drei Ebenen von Synchronisation
unterscheiden: intra-stream, inter-stream und inter-objekt Synchronisation [21].
1. Intra-Stream Synchronisation vollzieht sich auf der niedrigsten Ebene von
kontinuierlichen Medien, der sogenannten Medienebene. Einheiten der Medienebene
sind lokale Dateneinheiten wie z.B. Video/Audio Frames. Das Ziel von Intra-Stream
Synchronisation liegt nun darin die Gleichmäßigkeit der lokalen Dateneinheiten
beizubehalten.
2. Inter-Stream Synchronisation arbeitet auf der Stream-Ebene, der zweiten Ebene von
zeitbezogenen Daten. Inter-Stream Synchronisation stellt die zeitliche Beziehung
zwischen den verschiedenen Medien her.
3. Inter-Objekt Synchronisation wird auf der höchsten Ebene von
Multimediadokumenten, der Objektebene angewandt. Das Ziel von Inter-Objekt
Synchronisation ist das Starten und Beenden der Präsentation bezüglich vorher
festgesetzten Zeitmarken.
Das Problem, welches sich bei Video- Streaming in bezug auf die Synchronisation ergibt ist
der lange Weg vom Server zum Klienten, den die Videodaten zurücklegen. (Abb.1). Viele
Komponenten spielen auf diesem Weg eine Rolle, welche die Daten auf ganz unterschiedliche
Weise beeinflussen und zur Verzögerungen der Synchronisation beitragen kann.
Der wichtigste Teil jeder Synchronisationstechnik besteht darin die Spezifikation zeitlicher
Beziehungen innerhalb und zwischen den Medien zu bestimmen. Diese Bestimmung kann
entweder automatisch oder manuell vorgenommen werden. Im Bereich von Video/Audio
Aufnahmen und Wiedergabe werden die zeitlichen Beziehungen automatisch durch das
Aufnahmegerät bestimmt. Wohingegen man bei selbst erstellten Daten manuell vorgehen
muss. Um z.B. bei einer Folienpräsentation die zeitliche Beziehung zwischen den einzelnen
Folien und dem passenden Ton herzustellen, muss man den Audiostrom entsprechend der
Folien in kleine Bereiche einteilen. Jeder Bereich entspricht dann einer Folie.
Abbildung 11: Synchronisation zwischen Folien und einer Audio Sequenz
Slide 1
Slide 2
Slide 3
Slide 4
Slide 5
Audio Sequenz
18
Die Methoden zur Spezifikation zeitlicher Beziehungen kann man unterteilen in Intervall
basierende, axes basierende, Kontrollfluss basierende und Ereignis basierende Methoden
[22]. Für kontinuierliche Medien wird meistens die axes basierende Methode oder das
Zeitstempeln angewandt. Dabei wird der Strom mit einem Zeitstempel versehen, um die
zeitlichen Informationen innerhalb des Stroms und bezüglich anderer Ströme festzuhalten.
Beim Empfänger wird der Strom entsprechend dieser zeitlichen Beziehungen abgespielt.
9. Zusammenfassung
Video Streaming ist eine wichtige Komponente vieler Internet Multimediaanwendungen, wie
z.B. elektronisches Fernstudium oder home shopping. Jedoch obwohl die Anwendungsgebiete
und auch die Häufigkeit von Video Streaming immer häufiger geworden ist, gibt es noch viele
Gebiete auf denen bessere Unterstützung erreicht werden könnte. Eine ganz wichtige
Komponente spielt dabei natürlich das Internet, dessen Unterstützung eine wichtige Rolle bei
der Verbesserung der Qualität von Multimediapräsentationen spielt. Ein Hauptschwerpunkt
auf diesem Gebiet liegt darin skalierbare, effiziente Infrastrukturen für die Verteilung von
kontinuierlicher Medien zu entwickeln. In der Ausarbeitung wurde versucht einen Überblick
über die verschiedenen Gebiete zu geben, d.h. Ansätze vorzustellen die bereits vorhanden sind
bzw. Ideen an deren genauer Umsätzen noch geforscht wird. Ein besonderer Schwerpunkt
wurde dabei auf das Gebiet Videokomprimierung gelegt. Mittlerweile gibt es viele
verschiedene Videokomprimierungsalgorithmen, und die Forschung auf diesem Gebiet
arbeitet in verschiedene Richtungen. Die Forschungen auf dem Gebiet der skalierbaren
Videokomprimierungstechniken versuchen möglichst hohe Flexibilität zu ermöglichen und
die Komprimierung effizient zugestalten bei geringer Komplexität.
Ein weitere Ansatz ist die Kombination verschiedener Verfahren, wie z.B. eine Kombination
von skalierbarer Komprimierung, fehlerresistenter Verfahren und verzugerkennender
Komprimierung. Eine Kombination der Vorteile der einzelnen Verfahren kann somit schon
einige auftretende Probleme lösen.
19
Anhang
Literaturverzeichnis
[1] Dapeng Wu, Yiwei Thomas Hou, Wenwu Zhu, Ya-Qin Zhang, John m. Peha
„Streaming Video over the Internet: Approaches and Directions” IEEE, vol. 11,
March 2001.
[2] Hayder M. Radha, Michaela van der Schaar, Yingwei Chen „The MPEG-4 Fine-Grained
Scalable Video Coding Method for Multimedia Streaming over IP” IEEE, vol. 3,
March 2001
[3] K.R.Rao, Zaran S. Bojkovic, Dagorad A. Milovanovic: Multimedia Communication
Systems Techniques, Standards, and Networks.
[4] D. Wu, Y. t. Hou, W. Zhu, H.-J. Lee, T. Chiang, Y.- Q. Zhang, and H. J. Chao, “ on endto-end architecture for transporting Mpeg-4 video over the Internet,” Proc. IEEE, vol.10,
pp.923-941, Sept. 2000.
[5] J.-C. Bolot, T. Turletti, and I. Wakeman, “ Scalable feedback control for multicast video
distribution in the Internet” in Proc. ACM SIGCOMM´94, London, U.K., Sept.1994, pp.
58-67.
[6] D. Wu, Y. T. Hou, and Y.-Q. Zhang, “ Transporting real-time video over the Internet:
Challenges and approaches,” Proc. IEEE, vol. 88, pp.1855-1875, Dec. 2000.
[7] S. Floyd and K. Fall, “Promoting the use of end-to-end congestion control in the
Internet,” IEEE Trans. Networking, vol. 7, pp. 458-472, Aug. 1999.
[8] S. McCanne, V. Jacobson, and M. Vetterli, “Receiver-driven layered multicast,” in Proc.
ACM SIGCOMM´96, Aug. 1996, pp. 117-130.
[9] Z.- L. Zhang, S. Nelakud iti, R. Aggarwa, and R. P. Tsang, „efficient server selective frame
discard algorithms for stored video delivery over resource constrained networks,“ Proc.
IEEE INFOCOM´99, pp. 472-479, Mar. 1999.
[10] C. L. Liu and J. W. Layland, “ Scheduling algorithms for multiprogramming in hard
real-time enviroment,” J.Assoc. Comput. Mach., vol. 20, no1, pp. 46-61, Jan. 1973.
[11] J.Y. Chung, J. W. S. Liu, and K. J. Lin, “Scheduling periodic jobs that allows imprecise
results,” IEEE Trans. Comput., vol. 19, pp. 1156-1173, Sept. 1990.
[12] J. Gemell and S Christodoulakis, “ Principles of delay sensitive multimedia data storage
and retrieval, “ACM Trans. Inform. Syst., vol. 10, no. 1, pp. 51-90, Jan. 1992.
[13] H. M. Vin, P. Goyal, and A. Goyal. And A. Goyal, “A statistical admission control
algorithm for multimedia servers,” in Proc. ACM Multimedia´94, Oct. 1994, pp.33-40.
[14] A. L. Reddy and J. Wyllie, “ Disk Scheduling in multimedia I/O system, ” in Proc. ACM
Multimedia´93, Anaheim, CA, Aug. 1-6, 1993, pp. 289-297.
20
[15] P. S. Yu, M. S. Chen, and D.D. Kandlur, „Grouped sweeping scheduling for DASDbased multimedia storage management,” ACM/Springer Multimedia Syst., vol. 1, no. 3,
pp. 99-109, 1993.
[16] P. J. Denning, “Effects of scheduling on file memory operations,” in Proc. AFIPS Spring
Joint Computer Conf., Reston, VA; 1967, pp.9-21.
[17] J. Gemell, H. M. Vin, D.D. Kandlur, P. V. Rangan, and L. A. Rowe, „Multimedia
storage servers: A tutorial,“ IEEE Comput. Mag., vol. 28, pp. 40-49, May 1995.
[18] G. A. Gibson and R. V. Meter “Network attached storage architekture,” Commun.
ACM, vol. 43, no. 11, pp. 37-45, Nov. 2000.
[19] D. H. C. Du and Y.-J. Lee, “Scalable server and storage architectures for video
streaming,” Proc. IEEE Int. Conf. Multimedia Computing and systems, pp. 62-67, June
1999.
[20] A. Guha, “The evolution to network storage architectures for multimedia applications,”
Proc. IEEE Int. Conf. Multimedia Computing and Systems, pp. 68-73, June 1999.
[21] R. Steinmetz and K. Nahrstedt, Multimedia: Computing, Communications and
Applications. Englewood Cliffs, NJ: Prentice-Hall, 1995.
[22] G. Blakowski and R. Steinmetz, “ A media synchronization survey: Reference model,
specification, and case studies,” IEEE J. Select. Areas Commun., vol. 14, pp. 5-35, Jan.
1996.
[23] Handbook of Communication Technologies: The next Decade- Multimedia over IP:
RSVP, RTP, RTCP, RTSP, R. Osso, Ed., CRC Press, Boca Raton, Fl, 1999, pp. 29-46.
[24] H. Schulzrinne, S. Casner, R. Frederick, and V. jacobson, „RTP: A Transport Protocol
for Real-Time Applications,“ Internet Engineering Task Force, Rfc 1889, Jan. 1996.
[25] H. Schulzrinne, A. Rao, and R. Lamphier, „Real Time Streaming Protocol ( RTSP ),“
Internet Engineering Task Force, RFC 2326, Apr. 1998.
[26] M. Handley, H. Sculzrinne, E. Schooler, and J. Rosenberg, “SIP: Seesion Initiation
Proticol,” Internet Engineering Task Force, RFC 2543, Mar. 1999.
[27] M. Hemy, U. Hengartner, P. Steenkiste, and T. Gross, “MPEG system stream in besteffort networks,” Proc. IEEE Packet Video´99, Apr. 1999.
[28] S. Deering, “Moulticast routing in internetworks and exetended LANs,” in Proc. AMC
SIGCOMM´88, Standford, CA, Aug. 1988, pp.55-64.
[29] FastFoward Networks. ( 2000 ) FastFoward networks´ broadcast overlay architecture.
[Online]. Available: http://www.ffnet.com/pdfs/boa-whitepaper.pdf
21
[30] J.-C. Bolot and T. turletti, “Adaptive error control for packet video in the Internet,” Proc.
IEEE Int. Conf. Image Processing ( ICIP´96 ), pp. 25-28, Sept. 1996.
[31] R. Puri, K. Ramchandran, K. W. Lee, and V. Bharghavan, “Application of FEC based
multiple desscription coding to Internet Video streaming and multicast,” in Proc. Packet
Video Workshop, cagliari, Sardinia, Italy, May 1-2, 2000.
[32] Y. Wang, M. T. Orchard, and A. R. Reibman, “Multiple description image coding for
noisy channels by pairing transform coefficients,” Proc. IEEE Workshop on Multimedia
Signal Processing, pp. 419-424, June 1997.
[33] S. Li, F. Wu, and Y.-Q. Zhang, “Study of a New Approach to Improve FGS Video
Coding Efficiency,” ISO/IEC JTC1/SC29/WG11, MPEG99/M5583, Dec. 1999.
[34] W. Li, “Bit-Plane Coding of DCT Coefficients for Fine Granularity Scalability,”
ISO/IEC JTC1/SC29/WG11, MPEG98/M3989, Oct. 1998.
[35] http://www. MPEG.org
[36] F. Wu, S. Li, and Y.-Q. Zhang, “A framework for efficient progrssive fine granularity
scalable video coding,” IEEE trans. Circuits syst. Video technol., vol. 11, pp. 282-300,
Mar. 2001.
22