Gibt es einen vektorbasierten Videotyp, vorzugsweise Open Source, damit ein animierter Clip mit "Regeln" anstelle von Pixelkomprimierung erstellt werden kann?
Dies würde ein verlustfreies auflösungsunabhängiges Video bedeuten. Wenn es existiert - ein Link zu den Spezifikationen wäre hilfreich.
Es gab eine, aber sie wurde nicht mehr verwendet und wird nicht mehr sehr oft verwendet, hauptsächlich aufgrund des Mangels an mobiler Unterstützung, aber auch aufgrund von Sicherheitsproblemen, die dadurch verursacht wurden. Es hieß Flash.
Die University of Bath veröffentlichte vor ein paar Jahren ein Papier, das einen vektorbasierten Video-Codec demonstrierte , mit einer Pressemitteilung, in der gefragt wurde: „ Stirbt das Pixel? “. Seltsamerweise ist das Pixel seitdem nicht gestorben, tatsächlich gibt es noch mehr von ihnen als früher.
Man könnte argumentieren, dass die meisten Video-Codecs tatsächlich Vektoren verwenden: DCT (oder ähnliches) - das in so ziemlich jedem Video-Codec verwendet wird - basiert auf der Idee, dass Sie jedes Signal perfekt als Summe mehrerer Kosinuswellen darstellen können. oder mit anderen Worten als ein Bündel von Vektoren, die zusammengefügt werden.
Das heißt aber nicht, dass Sie einen DV-Film in Standardauflösung ohne Schärfeverlust auf 4K skalieren können. Der Grund dafür ist, dass, obwohl ein DCT-codiertes Bild im Wesentlichen aus einer Reihe mathematischer Funktionen besteht und daher auflösungsunabhängig ist, das Signal, das sie codieren, in der Bandbreite auf die ursprünglich erfassten Daten begrenzt ist; Die Kamera ist ein Tiefpassfilter, der jedes Detail herausfiltert, das feiner ist als die Auflösung des Sensors (es ist wahrscheinlich genauer zu sagen, dass jedes Detail feiner ist als die Nyquist-Grenze des Sensors ~ = 1/2 der Auflösung). Mit anderen Worten, kein Codec kann Informationen kodieren, die überhaupt nicht vorhanden waren.
Also kann nicht einmal der Codec der University of Bath das tun , was sie in Filmen tun, wo Sie eine unscharfe Sicherheitskameraaufnahme mit niedriger Auflösung unendlich verbessern können, bis es aussieht, als käme es aus einer Hasselblad.
Flash-Animation ist, wie AJ Henderson erwähnt, ein reines vektorbasiertes Format, aber nur für Inhalte, die als Vektoren erstellt wurden, und nicht zu verwechseln mit Flash-Video (flv-Container), einem Rasterformat, bei dem die Pixel mit Sorenson Spark codiert werden oder VP6 oder das gute alte h.264 (das DCT verwendet).
SVG unterstützt Animationen mit JavaScript und dem animierten Element. Das bedeutet jedoch, dass Sie einen Browser oder einen integrierbaren Renderer wie WebKit verwenden, um es zu rendern.
Ältere Spiele verwendeten oft ihre eigenen Vektoranimationsformate. Sie könnten sich die Asset-Formate ansehen, die von Open-Source-Implementierungen alter Spiele-Engines wie ScummVM und Sarien unterstützt werden. Es gibt einige Asset-Extraktoren und -Editoren, aber ich bin mir nicht sicher, ob es eigenständige Viewer gibt, daher müssen Sie den Animationscode möglicherweise selbst extrahieren, wenn Sie diesen Weg gehen möchten.
Darf ich fragen, was dein Endziel ist? Ich mag Vektorgrafiken aus demselben Grund, aus dem ich MODs und Chip-Musik mag; Die neueren Formate sind riesig und CPU-hungrig, und ehrlich gesagt fühlt es sich wie Betrug an, verglichen mit dem, was auf einem PC mit 640 KB RAM oder sogar einem Commodore 64 erreicht werden könnte.
Hier einige Recherchen zu diesem Thema:
Auflösungsunabhängige 2D-Cartoon-Videokonvertierung https://www.researchgate.net/publication/305390110_Resolution_Independent_2D_Cartoon_Video_Conversion
Videovektorisierung durch tetraedrisches Remeshing http://wangchuan.github.io/archive/research/videovec/paper.pdf
Videocodec für klassische Zeichentrickanimationen mit hardwarebeschleunigter Wiedergabe http://dcgi.felk.cvut.cz/publications/2005/sykora-isvc-vccca
Ich erinnere mich, dass ich diesen letzten gelesen habe, als ich vor ein paar Jahren viele Zeichentrickfilme und Animes online angeschaut habe. Die Videoauflösung, die Sie bei vielen Streaming-Portalen erhalten, 480p (oder sogar 720p), wird diesen schönen Umrisszeichnungen bei der Betrachtung auf Full-HD/4k-Displays einfach nicht gerecht.
IIRC, die Autoren dieses Artikels haben damals sogar Downloads von Beispielvideodateien und ihrem Player bereitgestellt (als Proof of Concept), aber ich kann sie jetzt nicht finden.
Ein Problem bei regel-/berechnungsbasierten Animationen (Vektorgrafiken; in Echtzeit gerenderte Spiele, Flash ...) ist, dass es schwer vorherzusagen ist, ob die Maschine, die das Video abspielt, in der Lage sein wird, die Dinge schnell genug zu rendern. Dieses Performance-Problem kann man aber auch mit den üblichen Video-Codecs haben. Einige billige Laptops, die ich besaß, konnten Full-HD/4K-Videos nicht mit der für die Wiedergabe erforderlichen Geschwindigkeit dekodieren ...
Bei vektor-/berechnungsbasierten Grafiken ist das Problem jedoch noch schlimmer: Es gibt möglicherweise keine Begrenzung der Rechenleistung, die Sie möglicherweise zum Rendern eines Frames benötigen. Denken Sie darüber nach: CGI-Filme könnten nur als Code und Assets verteilt werden, mit denen sie erstellt wurden, und Ihr Computer könnte sie mit jeder Bildrate und Auflösung rendern. Das Problem ist, dass diese Filme dafür nicht konzipiert wurden. Das Berechnen eines Frames kann auf Ihrem Computer Stunden dauern, ganz zu schweigen davon, dass Sie wahrscheinlich nicht einmal genug Festplattenspeicher haben, um alle Assets in voller Auflösung zu speichern, die ihre Renderfarm verwendet.
Computer von heute sind jedoch möglicherweise in der Lage, Toy Story in Echtzeit zu spielen. Wenn Sie ein High-End-Gaming-Rig haben, sind die Echtzeit-Zwischensequenzen für Ingame-Grafiken natürlich auch eine Art auflösungsunabhängiges Video.
Es gibt einen vektorbasierten Codec, den ich verwendet habe - aber er kann nicht außerhalb der Bearbeitung leben.
Flash exportiert ein SWF-Dateiformat, das die Bewegungsvektorinformationen beibehält, wenn es in After Effects angewendet wird (weiß nicht, ob es in Premier funktioniert. Funktioniert NICHT in Final Cut). Wenn diese Dateien in AE importiert werden, behalten sie ihre Auflösung unabhängig von Skalierung oder Zoom bei. Alle anderen Funktionen, die auf Formebenen anwendbar sind, gelten auch für SWF-Dateien.
Fast alle anderen visuellen Anwendungen erkennen das SWF-Format nicht, daher sind seine Einsatzmöglichkeiten sehr begrenzt. Aber der Codec existiert.
GameMaker Studio unterstützt SWF/Vektorgrafiken und Animationen. aber das ist natürlich für Videospiele. Aber ich bin mir sicher, dass Sie mit der Funktionsweise von Gamemaker Ihre eigenen bootfähigen Videos damit erstellen können.
Niutech