Diese Arbeit beschäftigt sich mit dem Kombinieren mehrerer MPEG-4 Videostreams zu einem neuen Videostream. Die Wiedergabe von Videos auf mobilen Endgeräten, wie einem PDA oder einem Handy, ist einigen Einschränkungen unterworfen. Viele Streamingangebote im Internet sind für die Nutzung durch einen Desktop-PCs vorgesehen. Mobile Clients können schnell überfordert sein, da einige Ressourcen nicht so stark verfügbar sind. Eine Darstellung von mehreren Videos gleichzeitig ist daher noch schwieriger. Die größten Nachteile sind in folgenden Ressourcen zu finden:
Auch wenn die Notwendigkeit für mobile Clients eher gegeben ist, so steht einer generellen Nutzung auch in anderen Bereichen nichts im Wege. Anwendungsgebiete sind immer in Bereichen zu finden, wo mehrere Videos als Quellen verwendet werden:
Der Videoeingang der Bibliothek decodiert einen MPEG-4 Videostream im Simple-Profile bis zur Auflösung der Predictions. Die Dequantisierung und die inverse Diskrete-Cosinus-Transformation (IDCT) werden dadaurch eingespart. Inhaltlich sind die Makroblöcke nun unabhängig von einander und können beliebig kopiert werden. Die decodierten Daten werden in einer objektorietierten Struktur gespeichert.
Der Merger kopiert nun pro Frame die Makroblöcke der Quellvideos nach einem vorgegebenen Layout zusammen, so dass die Bilder des Zielvideos entstehen. Der Merger abreitet auf Makroblock-Ebene. Die Position und die Größenangaben der Quellvideos können daher nur innerhalb eines 16x16 Pixel Raster angegeben werden.
Der Videoausgang der Bibliothek erzeugt wieder einen MPEG-Videostream im Simple-Profile. Aufgrund des Mergings können jedoch Kombinationen von Makroblöcken entstehen, die nicht mehr in MPEG-4 Daten ausgedrückt werden können. Dies ist der Fall, wenn der quantiser_scale zweier benachbarter Makroblöcke soweit auseinander liegt, dass der Unterschied nicht mehr durch den Parameter dquant ausgedrückt werden kann. Für diesen Fall erzeugt der Videoausgang einen Resync-Marker. In dem Video-Packet-Header, der nach dem Resync-Marker folgt, kann der qunatiser_scale als ganzer Wert neu gesetzt werden.
Anwendung findet die Bibliothek in einem Programm auf der Kommondozeile, welches mehrere Videos nach vorgegebenem Layout zu einem zusammenfügt. Die Definition des Layouts findet in der XML-basierten Konfigurationsdatei statt.
Im Rahmen dieser Arbeit konnte ein Problem nicht gelöst werden. Wenn Bewegungsvektoren, die im Quellvideo natürlich korrekt kompensiert wurden, auf einen fremden Bildinhalt zeigen, entstehen Fehler, da das vorhandene Fehlerbild nicht mehr korrekt ist. Dieser Effekt wirkt sich in zwei Bereichen aus:
[1] | PEREIRA, Fernando; EBRAHIMI, Touradj: The MPEG-4 Book. 1. Auflage. New Jersey, USA: Prentice Hall PTR, 2002. - ISBN 0-130-61621-4 |
[2] | RICHARDSON, Iain E. G.: H.264 & MPEG-4 Video Compression. Understanding and Implementing Video Compression. 1. Auflage. John Wiley & Sons, Ltd., 2003. - ISBN 0-470-84837-5 |
[3] | SADKA, Abdul H.: Compressed Video Communications. 1. Auflage. John Wiley and Sons, Ltd., 2002. - ISBN 0-470-84312-8 |
[4] | ISO/IEC: 14496-2: Information Technology - Coding of audio-visual objects - Part 2: Visual. 2004 |
Technische Universität Braunschweig
Universitätsplatz 2
38106 Braunschweig
Postfach: 38092 Braunschweig
Telefon: +49 (0) 531 391-0