[RVS] Universität Hannover
Lehrgebiet Rechnernetze und Verteilte Systeme



[video preview] Preview Komponente für den Video-Verfilmungsservice



  • Stand der Bearbeitung
  • Die Studienarbeit ist inzwischen abgeschlossen und ist in den Formaten Postscript (PS) oder PDF via ftp erhältlich. Da die Seite 10 sechs große, unhandliche Grafiken enthält, gibt es die Arbeit optional auch in einer Version ohne diese Seite.

  • Allgemeines
  • Ziel der Studienarbeit war es, den Benutzern der Video-Verfilmungsanlage die Möglichkeit zu bieten, das erzeugte Bildmaterial vor einer Verfilmung auf Video-Cassette zu sichten. Dabei bietet sich - aufgrund der weiten Verbreitung - das MPEG-Format an. Zur Codierung kommt der Berkeley MPEG-Encoder (Version 1.5b) zum Einsatz.

    Im folgenden sind die einzelnen Arbeitsschritte, die im Rahmen dieser Studienarbeit entstanden sind, chronologisch aufgelistet. Die Implementierung wurde bereits während der Studienarbeit getestet, wobei einige Verbesserungen eingeflossen sind.

    Zunächst wurde untersucht, wie ein MPEG codiert werden muß, damit es auf aktuellen Plattformen akzeptable Ergebnisse liefert. Hierbei stellt sich heraus, daß ein Standard-MPEG (320x240 Pixel, 25 Bilder pro Sekunde) mit Software-Playern nicht in Echtzeit wiedergegeben werden kann. Dennoch wird dieses Format als Preview angeboten, da sich in absehbarer Zeit entsprechende Hardware etablieren wird.


  • Demo-MPEGs
  • Verschiedene, typische MPEGs zum Ausprobieren. Mit diesen MPEGs wurden in der Studienarbeit verschiedenen Performance-Untersuchungen durchgeführt.

  • MPEG-Codierung mit dem Berkeley-MPEG-Encoder
  • Untersuchungen zur Bildqualität von MPEG-Streams in Abhängigkeit von der Bitrate.

  • Ein erster "Preview"... (test.mpg, 362.730 byte, Standbilder)
  • Zur Herstellung von MPEGs mit dem Berkeley Software Encoder werden Bilddaten aus dem Abekas YUV Format (720 * 576 Pixel) in ein kleineres YUV Format (320 * 240) konvertiert. Dabei gibt es unterschiedliche Strategien, die in diesem MPEG deutlich werden.
    Die Standbilder tauchen jeweils hintereinander in zwei Varianten auf: Zunächst nur verkleinert, anschließend interpoliert. Bei natürlichen Bildern sind die Vorteile der Interpolation klar erkennbar, bei dem "Windows"-Screenshot wirken grosse Strukturen jedoch verschwommen - kleinere Bildelemente werden wiederum erst durch Interpolation erkennbar.

  • Das ganze etwas länger (insgesamt 20.04 Sekunden, 25 fps) mit Einzelbildern am Ende. (longtest.mpg, 520.088 byte, Standbilder)
  • Aufgrund der MPEG-Kodierung können die Einzelbilder nicht in gleicher Qualität dargestellt werden.
    Eine Sun Sparc 20 benötigt für die Kodierung dieser Sequenz - 501 Bilder - etwa 5 Minuten.

  • Möglichkeiten der Konvertierung von Abekas YUV zu eyuv
  • Wie in den oben aufgeführten MPEGs sichtbar, gibt es Unterschiede in der Umwandlung des YUV in das eyuv-Format. Aus den beiden oben erwähnten Verfahren ergibt sich als möglicher Kompromiß noch eine dritte Möglichkeit. Die drei Varianten nochmal als GIF-Bilder. Bei der Preview-Herstellung wird interpoliert.

    [window]
    Standard-Bildformat (320 * 240)

  • Kleines Bildformat
  • Als mögliches Bildformat für MPEG-Streams kommt ein nochmal halbiertes Format in Frage (160 * 120 Pixel). Dieses wird auch von dem (auf MS-Windows Systemen verbreiteten) XING-MPEG-Decoder akzeptiert, wenn bei der MPEG-Kodierung nur I-Frames verwendet werden. Die Auflösung ist je nach Anwendung entsprechend schlecht, wohl aber ist auf vielen aktuellen Systemen eine Wiedergabe in Echzeit möglich. Die Verwendung von I-Frames ermöglicht weiterhin echten Einzelbildzugriff.
    Hier das Bild von oben zum Vergleich:

    [miniwindow]
    "Xing"-Bildformat

  • Beispiel-MPEG im XING-ähnlichen Format
  • Leider kann der Berkeley-MPEG-Decoder in der aktuellen Version (1.5b) nur Bildformate verarbeiten, die Vielfache von 16 darstellen: bei 120 Punkten werden die letzen 8 Zeilen abgeschnitten, um auf 7 * 16 = 112 Punkte zu kommen. Dies ist um so verwunderlicher, weil im User's Guide (Postscript) des Encoders auf Seite 11 explizit auf die Verwendung des XING-Formats hingewiesen wird. Aus der "to-do"-Liste des Encoders ist jedoch ersichtlich, daß beliebige Bildformate noch nicht möglich sind.

    Das MPEG enthält die gleichen Bilder wie die oben aufgeführten MPEGs, allerdings im 160 * 112 Pixel-Format und nur I-Frame kodiert. Aus diesem Grund ist die Kompression sehr viel schlechter als die I/P/B-kodierter MPEGs: Die Datei "test.mpg" (s.o.) enthält 448 Bilder doppelter Größe und ist trotzdem kleiner! (xingtest.mpg, 386.626 byte, 155 Bilder)


  • Übergangslösung für kleines Bildformat
  • Um trotz des Encoder-Mankos ein kleines Bildformat zu verwenden, ohne das Zeilen abgeschnitten werden bleibt die Möglichkeit, 128 Zeilen zu verwenden. Damit entsteht am oberen und unteren Rand ein je 4 Pixel breiter Balken:

    [miniwindow+border] [minicar+border]

  • 'video_preview'-Printer
  • Der auf der rtb-video eingerichtete "Drucker" kann unter dem Namen "video_preview" angesprochen werden. Es können MPEGs im Format 320x240 oder 160x128 Pixel generiert erden, die im WWW zugänglich sind.

  • Benutzerschnittstelle zum Preview-Service
  • Es ist jetzt dem Benutzer möglich, Steuerinformationen und Angaben für die Video-Preview "Datenbank" zu übermitteln. Dazu müssen diverse Informationen der bisherigen Steuerdatei hinzugefügt werden, die in den Benutzerinformationen beschrieben werden.

  • Zugang zum 'Video-Preview-Service'
  • Der Zugang zu den angefertigten MPEGs erfolgt über das WWW. Dazu wurde ein Programm eingerichtet, das nach - vom Benutzer angegebenen - Kriterien eine von video_preview angelegte Datenbank nach passenden MPEGs durchsucht und das Resultat als WWW-Dokument erzeugt. Hierüber erfolgt dann der Zugriff (Abspielen, Download, Löschen) auf die Bilddaten.
    Der Suchindex befindet sich in http://video.rrzn.uni-hannover.de/preview/mpegs/.

  • Ausblick
  • Geplante Ergänzungen und Verbesserungen finden sich in der "To-do"-Liste.

    [HOME] | ÜBERSICHT | DEMO-MPEGS | BERKELEY-ENCODER | BILD-KONVERTIERUNG | BENUTZERINFORMATIONEN | ÄNDERUNGEN | LINKS
    Ralf Einhorn, 11.10.1995 - 17.07.1996, 01.06.1997