Neueste Artikel

Kategorien

Suchen

Facebook

Sonstiges

RSS-Feed-Icon RSS-Feed

Die vektorisierte Matrix als neu markieren

YouTube, Google-Video, Veoh, Vimeo, Dailymotion und alle die anderen Video-Portale verwenden die Flash-Video-Kompression mit dem geschmeidigen Namen "On2 VP6-Codec". Dank dieser Kompression ist es nun möglich, Videos aus der ganzen Welt (z.B. aus Obergriesbach) ins Internet zu stellen, so dass sie jeder auf der Welt sehen kann (z.B. jemand aus Untergriesbach).

Aber der Verwendung eines modernen Kompressionsverfahrens fehlt der Stil. Irgendwie geht irgendwo in der digitalen Signalprozesskette zwischen B-Frames und Makroblocks der Charme verloren. Wie schön waren da noch die Zeiten, als man sich Schallplatten mit eine einfachen Stricknadel anhören konnte. Für heutige Medien benötigt man 20 Millionen Transistoren die im Gleichtakt diskrete inverse Kosinustransformationen berechnen.

Es gibt so schöne großartige Kinofilme, in denen jedes Einzelbild für sich genommen ein Kunstwerk ist. VP6 und seine Kollegen wissen dies jedoch nicht zu wertschätzen und interessieren sich dank Differenzbildkodierung nur für die Unterschiede zum letzten Frame. Nach dem alle die Schönheit des Einzelbildes über Bord geworfen wurde, wird der traurige Rest brutal in Blöcke zerschnipselt, durch herzlose mathematische Transformationen geschoben und in Quantisierern eingekocht. Übrig bleibt eine fade Kette von Einsen und Nullen, die ihrer traurigen Zukunft entgegensehen, auf Doppelklick-Kommando durch die gleiche qualvolle Maschinerie zu müssen, um sich die gewünschten Informationen auspressen zu lassen.

... okay, vielleicht übertreibe ich etwas, aber gibt es denn keine Möglichkeit, Videodaten im Internet anzubieten, ohne das Video mit herkömmlichen Kompressionsverfahren komprimieren zu müssen?

Nach vielen Versuchen (inklusive ASCII-Art) kristallisierte sich heraus, es mit einer vektorbasierten Video-Kompression zu probieren. Einer der Vorteile ist, dass die Videos sowohl als SVG als auch in Flash wiedergegeben werden können. Und so sehen die ersten Ergebnisse aus:


Frame als SVG-Datei

 

Für einen Frame benötigt man etwa 1-2 Sekunden, so dass man über Nacht einen ganzen Film vektorisieren kann:


Vector Matrix II auf Vimeo.

 

Der Algorithmus besteht aus vielen Teilen und es wäre ziemlich aufwändig, ihn bis ins letzte Detail zu erklären. Deswegen hab' ich nur die wichtigsten Schritte in einem Diagramm zusammengefasst:

Übersicht über den Video-Vektorisier-Algorithmus

 

Und für die Interessierten sind hier die ersten 320 Frames im SVG-Format.

Update (14.08.2009)

Inzwischen konnte ich mich intensiv in das Flex-Framework einarbeiten und so einen ersten Versuch der Umsetzung in Flash durchführen. Das Ergebnis (knapp 13 Sekunden mit effektiven 160 KB/s) kann man sich hier anschauen.