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


Multimedia-Systeme: Übungsblatt 4

Übung: 15.11.2001

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/die Studierende auch für die elektronische Auswertung angemeldet ist.

Aufgabe 1: Videokompression mit MPEG

Gegeben sind die folgenden aufeinanderfolgenden Bilder einer Videosequenz. Benutzen Sie für Ihre Berechnungen die PGM-Versionen (Bild 84, Bild 85, siehe pgm.txt für eine Beschreibung des PGM-Formats) oder die Text-Versionen (Bild 84, Bild 85, Bildgröße 320x240, Anordnung der Daten zeilenweise). Unter Windows können Sie PGM-Dateien mit IView unter Linux mit xv, display oder gimp darstellen.
Links: Bild 84Rechts: Bild 85

Berechnen Sie die Bewegungsvektoren der vier in Bild 85 (nur in obiger Darstellung) rot markierten Makroblöcke der Größe 16x16 in Bezug auf Bild 84. Die jeweilige obere linke Ecke der Blöcke befindet sich an den Bildpositionen (32, 32), (32, 128), (256, 32) und (256, 128). Dabei gibt die erste Koordinate die Bildspalte und die zweite Koordinate die Bildzeile an.

Verwenden Sie das Full-Search-Verfahren mit einem Suchradius von 15 Pixel, d.h. der zu suchende Block wird an allen Positionsdifferenzen bis zu +/- 15 Pixel (einschließlich) ausgehend von seiner Originalposition mit Bild 84 verglichen.

Verwenden Sie als Abstandsmaß zwischen zwei Blöcken die L1-Norm, d.h. die Differenz der Grauwerte f(p) und f(q) zweier korrespondierender Pixel p und q wird über die Formel abs(f(p) - f(q)) berrechnet.

Teilaufgabe a)

Geben Sie als Ergebnis für jeden der vier Blöcke die Bildposition (ober linke Ecke) in Bild 84 an, an der jeweils der "best match" gefunden wurde.

1) Position für den Block (32, 32):

2) Position für den Block (32, 128):

3) Position für den Block (256, 32):

4) Position für den Block (256, 128):

Teilaufgabe b)

Erläutern Sie ausgehend von Teilaufgabe a) die Kodierung von P-Frames in MPEG.

Teilaufgabe c)

Wie werden B-Frames in MPEG kodiert? Worin liegen die Unterschiede zu P-Frames?

Teilaufgabe d)

Betrachten Sie die Bewegungsvektoren, die Sie in Teilaufgabe a) berechnet haben. Welche Rückschlüsse können Sie aus diesen Vektoren auf die zugrundeliegende Kamerabewegung ziehen? Wie schlagen sich Kamerabewegungen generell in den Bewegungsvektoren nieder?



Aufgabe 2: Wavelet-Kodierung

Gegeben ist der Audiostrom audio.txt. Die einzelnen Einträge sind dabei 8-Bit-Samples. Sie können das Windows-Tool Sound (Hinweise) verwenden, um die Audio-Datei abzuspielen. Zerlegen Sie dieses Audiosignal mittels der Wavelet-Transformation in Hochpass- und Tiefpassanteile (eine Iteration). D.h. Sie erhalten bei einer Signallänge von 128 Samples 64 Tiefpass- und 64 Hochpasskoeffizienten (in diesem Fall ignorieren wir die Randprobleme). Verwenden Sie dazu ein Daubechies-2-Wavelet, das durch die folgenden vier Filter charakterisiert wird:

  1. Approximationsfilter für den Mittelwert:
    0.482963, 0.836516, 0.224144, -0.12941
  2. Detailfilter für Abweichung:
     -0.12941, -0.224144, 0.836516, -0.482963
  3. Synthesefilter für den 1. Wert:
    0.224144, 0.836516, 0.482963, -0.12941
  4. Synthesefilter für den 2. Wert:
    -0.12941, -0.482963, 0.836516, -0.224144
Setzen Sie nun alle Hochpasskoeffizienten betragskleiner als 100 auf 0 und führen Sie die Synthese durch. Vergleichen Sie das Ergebnis mit dem Original-Audiostrom.


Abgabedaten:

Matrikelnummer: Password:

Universität:
Mannheim
Heidelberg
Freiburg
Karlsruhe
andere


vogel@informatik.uni-mannheim.de