Universität Mannheim
Lehrstuhl für Praktische Informatik IV
Prof. Dr. W. Effelsberg
Jürgen Vogel
Thomas Hänselmann
Stephan Kopf


Multimedia-Systeme: Übungsblatt 6 (Musterlösung)

Übung: 29.11.2002

Die Aufgaben, die auf dieser Seite ausgefüllt werden können, werden auch über das Web ausgewertet. Dazu muß die Matrikelnummer eingegeben werden und das Ganze abgeschickt werden. Voraussetzung ist allerdings, daß der Studierende auch für die elektronische Auswertung angemeldet ist.

Aufgabe 1: Linear Predictive Coding

Speziell für Sprachkodierung wird häufig Linear Predictive Coding (LPC) eingesetzt.

  1. Wodurch kann bei LPC eine höhere Kompressionrate (bei gleicher Qualität) für Sprache erreicht werden, als bei Kompression mit Hilfe eine psychoakustischen Modells (z.B. MP3).


    • Bei LPC werden nicht Eigenschaften des Ohrs sondern der Spracherzeugung (Stimmbänder, etc.) ausgenutzt. Der Encoder passt das Signal an ein einfaches Modell der Stimmbänder an und kodiert nur die Parameter des Modells (best fit).

  2. Welche Weiterentwicklungen von LPC gibt es? Wordurch unterscheiden sie sich von LPC und wo werden sie eingesetzt?


    • CELP: Es werden viele verschiedene Lautarten unterschieden und in in einem Codebuch abgelegt. Signalwerte werden dann über den Identifizierer der Lautart und den LPC-Parametern codiert. Dadurch ergibt sich eine deutlich bessere Sprachqualität bei etwas erhöhter Datenrate
    • ACELP (Algebraic CELP): wie oben, jedoch mit angepasstem Codebuch

    Einsatzgebiete: z.B. die digitale Sprachübertragung mit dem Handy, Videokonferenzen, etc.


Aufgabe 2: Animation

  1. Programmieren Sie eine einfache Animation Ihrer Wahl in Java und bringen Sie den lauffähigen Code mit in die Übung.


    Eine Beispielanimation findet sich hier.


Aufgabe 3: Quality of Service

  1. Was für Parameter kennen Sie, die QoS beeinflussen? (Nennen Sie mindestens 6.)


    Im Netzwerk:
    • Bandwidth
    • Delay
    • Delay Jitter
    • Loss
    • ...
    Im Rechner:
    • Rechenkapazität
    • Echtzeitfähigkeit (Real-Time OS)
    • Speicherausstattung
    • ...

  2. Wie wirkt sich jeder dieser Parameter jeweils auf die Übertragung eines Videostroms über ein Netzwerk aus (d.h. wie wird die Darstellungsqualität bei Nichteinhaltung der Mindestanforderungen für den Parameter jeweils beeinträchtigt)?


    • Delay bewirkt einen verzögerten Start des Videostroms. Zusätzlich erschwert ein hohes Delay rechtzeitige Übertragunswiederholung bei fehlerhaften Daten.
    • Durch Delay Jitter kommen manche Daten zu spät an und können nicht mehr für die Dekodierung eines Videoframes verwendet werden. Der Effekt ist derselbe wie bei Paketverlusten (Loss): eine fehlerhafte Darstellung des Videobildes.
    • Falls ungenügende Bandbreite (Bandwidth) zu Paketverlusten führt, s.o. Falls das Video an die verringerte Bandbreite angepasst wird, ergibt sich eine korrekte Darstellung bei verminderter Videoqualität (was deutlich angenehmer für das Auge ist als die fehlerhafte Darstellung durch Paketverluste).
    • Mangelnde Rechenkapazität bewirkt, das nicht alle Daten kodiert bzw. dekodiert werden können. Es fehlen Bilder (Frames) im Videostrom. Dasselbe gilt, wenn die Rechenkapazität zwar im Prinzip ausreicht, aber wegen mangelnder Echtzeitfähigkeit des Betriebssystems der Prozessor gerade mit etwas anderem beschäftigt ist.
    • Übertragene Daten passen nicht mehr in den Hauptspeicher des empfangenden Rechners und müssen verworfen werden. Der Effekt ist derselbe wie bei Paketverlust.


  3. Was für Möglichkeiten gibt es, diese Beeinträchtigungen abzumildern?


    • Delay Jitter: Buffering (ein Puffer gleicht Schwankungen in der Übertragunsgeschwindigkeit aus)
    • Loss: Forward Error Correction, Retransmission (mit Hilfe von Redundanz durch FEC kann der Datenstrom auch bei fehlenden Paketen vollständig dekodiert werden. Alternativ können fehlende Pakete erneut übertragen werden.)
    • Bandwidth: Media Scaling (kodieren des Stroms mit höherer Kompressionsrate)
    • Delay: Caching, Proxies (Daten an einen näheren Ort verlagern, z.B. zu einem Rechner im gleichen Netzwerk)
    • Rechenzeit, Speicherbedarf: Rechner upgraden oder Codec mit geringerer Komplexität verwenden


Aufgabe 4: Quality of Service continued

Schauen Sie sich die ersten paar Seiten des Keynote-Talks des diesjährigen International Workshops on QoS (IWQoS) an und versuchen Sie sie (trotz der Unmenge an Akronymen) zu verstehen.

  1. Warum gibt es nach vielen Jahren Forschung auf dem Gebiet immer noch kein QoS im Internet?


    • Nicht viele Anwendungen brauchen es
    • Bandbreite ist sehr kostengünstig
    • QoS ist aufwendig (z.B. QoS-fähiger Router kann deutlich weniger Pakete zustellen), d.h. mit QoS kann man knappe Ressourcen ver3walten, die ohne QoS vielleicht gar nicht knapp wären
    • Damit QoS sinnvoll einsetzbar ist muß es vom gesamten Netz unterstützt werden. Teilweiser Einsatz bringt nichts.
    • Dazu müssen Endbenutzer, Service-Provider, Backbone-Provider, usw. kooperieren, was sich als schwierig erweist
    • IP war nicht zuletzt deshalb so erfolgreich, weil es ein einfaches, robustes Protokoll ist
    • ...
    Sehr interessant ist übrigens auch "Reservations about Reservations" ( http://www.cs.columbia.edu/~hgs/papers/Bake9705_Reservations.ps.gz), aber es wimmelt leider ebenfalls von Abkürzungen, was das Lesen etwas erschwert. Wahrscheinlich ist er nachdem Sie das Rechnernetzekapitel von MM-Technik abgeschlossen haben, leichter zu verstehen.

  2. Was denken Sie, lohnt sich der Einsatz von QoS und wird sich QoS irgendwann durchsetzen?

    • Daür gibt's natürlich keine Musterlösung.




vogel@informatik.uni-mannheim.de