PRAKTIKUM
     
 

Ort: Seminar-Raum 422, L15,16
Termin: Vorbesprechung am Do., 15. Mai 2003, 15:00
Besprechungen: montags, 13:45
nächster Termin: 14. Juli (Präsentation der geschriebenen Decoder)
Prüfungstermine: 30. Juli ab 14:00
Kontakt: Dirk Farin
Raum 410, L15,16
farin@informatik.uni-mannheim.de
Tel.: 181 2613
Beschreibung Das Multimediatechnik-Praktikum soll die Inhalte der Vorlesung Multimediatechnik anhand einer praxisnahen Aufgabe vertiefen. Dazu soll eine mittel-komplexe Programmieraufgabe in kleinen Teams bearbeitet werden.

Aufgabe dieses Praktikums wird sein, einen H.261 Videodecoder zu schreiben. H.261 ist ein Vorläufer von MPEG-1/2/4, der noch heute für ISDN-Bildtelefone oder bei MS-NetMeeting eingesetzt wird. Während die Kompressionsrate von H.261 nicht mit aktuellen Codierungsverfahren wie MPEG-4 oder H.26L konkurrieren kann, ist die Komplexität jedoch deutlich geringer. Ein H.261 Codec ist ein sogenannter Transformations-Codec, d.h. er besteht aus einer DCT-Transformationsstufe mit Bewegungskompensation. Im einzelnen besteht der Decoder aus folgenden Teilen:

  • Huffman-Decodierung der DCT-Koeffizienten und Bewegungsvektoren
  • Dequantisierung der Koeffizienten
  • IDCT-Transformation der Koeffizienten
  • Prädiktion über Seiteninformationen zur Bewegung
  • ggf. Umwandlung von YUV-Farbraum nach RGB
Sollte Interesse bestehen, so kann auch auf fortgeschrittenere Themen wie Encodierung oder MPEG-1/2/4 eingegangen werden.
Voraussetzungen Kenntnisse im Bereich der Bildverarbeitung z.B. durch Teilnahme an der Vorlesung Multimedia-Technik. Programmiererfahrungen vorzugsweise in C/C++, oder auch Java.

Gruppeneinteilung am Vorbesprechungstermin. Eine vorherige informelle EMail bei Interesse ist erwünscht damit ich die Teilnehmerzahl abschätzen kann.


Materialien
Übungsblätter: als Postscript oder als PDF
Einführung in h261: Teil 1 (PDF), Teil 2 (PDF)
Testdaten
Akiyo
akiyo
h261-stream
MPEG-1
Mother & Daughter
mad
h261-stream
MPEG-1
Silent
silent
h261-stream
MPEG-1
Hall & Monitor
(QCIF)
hall
h261-stream
MPEG-1
Tabellen
alle Huffman-Tabellen
Referenzausgaben
Blatt 1, Aufgabe 1
Akiyo GetBits()
Aus dem akiyo-stream werden nacheinander 1 bis 24 bits ausgelesen. Dies wird insgesamt 10 mal wiederholt.
Blatt 1, Aufgabe 2
CBP-bits
Dieses File besteht aus den Huffman-Codes der Tabelle 4. Wird das File decodiert, so sollten die Werte 1 bis 63 nacheinander gelesen werden.
Blatt 2
Hall&Monitor
Kompletter Decoder-Trace für das erste Bild
Blatt 2
Silent
Kompletter Decoder-Trace für das erste Bild
Blatt 3
Hall&Monitor
Decoder-Trace für das erste Bild inclusive DCT-Koeffizienten und Rücktransformation
Blatt 4
Akiyo trace
Decoder-Trace für das zweite Bild der Akiyo-Sequenz