623.712 – PR AUS RECHNER UND NETZARCHITEKTUR
SS 2003, CHRISTIAN TIMMERER
ÜBUNGSBLATT 1
Institut für Informationstechnologie, 20. März
2003
Parallele Programmierung gewinnt in Zeiten in denen es an Ressourcen (CPU, Speicher, Bandbreite) mangelt immer mehr an Bedeutung. In diesem Praktikum soll unter anderem die parallele Programmierung mittels Threads und MPI praxisbezogen geübt werden. Um dies zu bewerkstelligen wurden die Ergebnisse einer am Institut für Informationstechnologie abgeschlossenen Diplomarbeit herangezogen und für diese Lehrveranstaltung entsprechend aufbereitet. Die Diplomarbeit beschäftigt sich mit qualitätsgesteuerter, temporaler Adaptierung von MPEG-4 Videos und trägt den Titel „Quality Controlled Temporal Video Adaptation (QCTVA)“.
Adaption wird immer häufiger zu einem wichtigen Bestandteil für die Verwaltung von Ressourcen und Medien in verteilten Multimediasystemen. Eine reibungslose Übertragung von Multimediadaten Über ein heterogenes Netzwerk wie das Internet ist beinahe unmöglich. Deswegen müssen Multimediaströme adaptiert werden, um einen angemessenen Transport zu gewährleisten. Temporale Skalierung ist eine der einfachsten und schnellsten Adaptionstechniken. Heutige Ansätze werfen zufällig einzelne Frames in einem Video weg, ohne auf die Konsequenzen zu achten. Dies führt in den meisten Fällen zu einer sehr schlechten Videoqualität. Diese Arbeit stellt einen Ansatz vor, welcher eine Analyse des Videostromes durchführt, mit dem Ziel die qualitativ beste temporale Skalierbarkeit zu erlangen. Dafür wird für alle möglichen “Wegwerf-Szenarien” ein Qualitätswert berechnet. Basierend auf den Resultaten der Analyse, können viele bekannte Adaptionstechniken wesentlich verbessert werden.
Auf der Webseite (http://www-itec.uni-klu.ac.at/~timse/lehre/ss2003/rnarch/) befindet sich ein Paket bestehend aus Quelldateien, Dokumentation und Test-Streams, welches als Grundlage für die ersten beiden Projekte (Parallele Programmierung mit Threads und MPI) dient. Es beinhaltet u.a. C++-Klassen (API) zum Einlesen von Videoströmen und PSNR-Berechnung. Abbildung 1 zeigt den grundsätzlichen Aufbau der qualitätsgesteuerten, temporalen Adaptierung, d.h. die Berechnung der PSNR und den sogenannten BFE-ModificationPath.
Abbildung 1 — Qualitätsgesteuerte temporale Adaptierung
Zum Kompilieren der API gehen Sie bitte wie folgt vor:
· Voraussetzungen: Qt 3.0.x und Qt 3.0.x devel
· Laden Sie sich das Paket qctva4lv.tbz2 herunter und entpacken Sie es mittels tar xvfj qctva4lv.tbz2.
· Danach wechseln sie in das src-Verzeichnis des Paketes und kompilieren sie die API mittels ./configure und make. ACHTUNG: Installieren sie das Paket (d.h. make install) nicht!
Im src-Verzeichnis finden Sie nun die ausführbare Datei qctva4lv. Diese Datei ist der Ausgangspunkt für Erweiterungen, welche im Rahmen dieses Praktikums durchgeführt und geübt werden.
Quality Controlled Temporal Video
Adaptation
Usage: ./qctva4lv yuv org mpg width height fpg
yuv lossy YUV stream
org original YUV stream
mpg MPEG-4 encoded origial YUV
stream
width frame width
height frame heigth
fpg frames per GOP
Verzeichnisstruktur:
Zur Durchführung des Praktikums steht Ihnen eine Vier-Prozessor-Maschine mit Pentium III 550MHz XEON Prozessoren mit jeweils 1MB 2nd-Level Cache zur Verfügung – sgi-itec.uni-klu.ac.at. Username und Passwort erhalten sie während der Lehrveranstaltung. Arbeiten ist remote via ssh von zu Hause bzw. von einem ZID-PC aus möglich.
Termine:
Fragen: