Czy istnieje typ wideo oparty na wektorze, najlepiej o otwartym kodzie źródłowym, aby animowany klip mógł zostać utworzony przy użyciu „reguł” zamiast kompresji pikseli?
Oznaczałoby to bezstratne wideo niezależne od rozdzielczości. Jeśli tak, to link do specyfikacji byłby pomocny.
video
file-formats
codec
ispiro
źródło
źródło
Kilka lat temu University of Bath opublikował artykuł demonstrujący kodek wideo oparty na wektorze , z komunikatem prasowym z pytaniem „ czy piksel ma umrzeć? ”. Co dziwne, od tego czasu piksel nie zmarł, w rzeczywistości jest ich jeszcze więcej niż kiedyś.
Można argumentować, że większość kodeków wideo faktycznie używa wektorów: DCT (lub podobny) - który jest używany w prawie każdym kodeku wideo w pobliżu - opiera się na pomyśle, że można idealnie reprezentować dowolny sygnał jako sumę kilku fal cosinusowych, lub innymi słowy jako zbiór wektorów dodanych razem.
Nie oznacza to jednak, że można skalować film DV w standardowej rozdzielczości do 4K bez utraty ostrości. Powodem tego jest to, że chociaż obraz zakodowany w DCT jest zasadniczo zbiorem funkcji matematycznych, a zatem jest niezależny od rozdzielczości, sygnał, który kodują, jest ograniczony pasmem do oryginalnych danych, które zostały przechwycone; kamera jest filtrem dolnoprzepustowym, odfiltrowującym każdy szczegół drobniejszy niż rozdzielczość czujnika (prawdopodobnie dokładniej jest powiedzieć każdy szczegół drobniejszy niż granica Nyquista czujnika ~ = 1/2 rozdzielczości). Innymi słowy, żaden kodek nie może kodować informacji, których w ogóle nie było.
Tak więc nawet kodek z University of Bath nie może robić tego, co robią w filmach, w których można nieskończenie poprawiać ujęcia wykonane kamerą bezpieczeństwa o niskiej rozdzielczości i nieostrym, dopóki nie będzie wyglądało, jakby wyszło z Hasselblada.
Animacja Flash, jak wspomina AJ Henderson, jest czystym formatem wektorowym, ale dotyczy tylko treści utworzonych jako wektory i nie należy mylić jej z wideo Flash (pojemnik flv), który jest formatem rastrowym, w którym piksele są kodowane za pomocą Sorenson Spark lub VP6 lub good ol 'h.264 (który wykorzystuje DCT).
źródło
SVG obsługuje animację przy użyciu JavaScript i elementu animowanego. Oznacza to jednak użycie przeglądarki lub renderera, który można osadzić, takiego jak WebKit, do jej renderowania.
Starsze gry często używały własnych formatów animacji wektorowych. Możesz przyjrzeć się formatom zasobów obsługiwanym przez implementacje otwartych źródeł starych silników gier, takich jak ScummVM i Sarien. Istnieje kilka programów do wyodrębniania zasobów i edytorów, ale nie jestem pewien, czy istnieją jakieś niezależne przeglądarki, więc może być konieczne samodzielne wyodrębnienie kodu animacji, jeśli wybierzesz tę drogę.
Czy mogę zapytać, jaki jest twój cel końcowy? Interesuję się grafiką wektorową z tego samego powodu, dla którego lubię mody i układy muzyczne; nowsze formaty są ogromne i wymagają dużej mocy obliczeniowej, i szczerze mówiąc, to jest oszustwo w porównaniu do tego, co można osiągnąć na komputerze PC z 640k pamięci RAM lub nawet Commodore 64.
źródło
Oto kilka badań na ten temat:
Rozdzielczość Niezależna konwersja filmów animowanych 2D https://www.researchgate.net/publication/305390110_Resolution_Independent_2D_Cartoon_Video_Conversion
Wektoryzacja wideo za pomocą Tetrahed Remeshing http://wangchuan.github.io/archive/research/videovec/paper.pdf
Kodek wideo do klasycznych animacji animowanych ze sprzętowym przyspieszonym odtwarzaniem http://dcgi.felk.cvut.cz/publications/2005/sykora-isvc-vccca
Pamiętam ten ostatni, kiedy kilka lat temu oglądałem wiele kreskówek i anime online. Rozdzielczość wideo uzyskiwana dzięki wielu portalom streamingowym, 480p (lub nawet 720p), po prostu nie oddaje tych ładnych rysunków konturowych, gdy ogląda się je na ekranach Full HD / 4k.
IIRC, autorzy wspomnianego artykułu nawet podali do pobrania przykładowe pliki wideo i ich odtwarzacz (jako dowód koncepcji), ale nie mogę ich teraz znaleźć.
Jednym z problemów z animacjami opartymi na regułach / obliczeniach (grafika wektorowa; gry renderowane w czasie rzeczywistym, flash ...) jest to, że trudno jest przewidzieć, czy maszyna odtwarzająca wideo będzie w stanie wystarczająco szybko renderować. Ale możesz mieć ten problem z wydajnością ze zwykłymi kodekami wideo. Niektóre tanie laptopy, których posiadałem, nie mogły dekodować filmów Full HD / 4k z prędkością niezbędną do odtwarzania ...
Mimo to w przypadku grafiki opartej na wektorze / obliczeniach problem jest gorszy: potencjalnie nie ma ograniczenia mocy obliczeniowej potrzebnej do renderowania ramki. Pomyśl o tym: filmy CGI mogą być dystrybuowane jako kod i zasoby użyte do ich wytworzenia, a twoja maszyna może je renderować z dowolną szybkością klatek i rozdzielczością. Problem polega na tym, że te filmy nie zostały zaprojektowane do tego celu. Obliczenie ramki może zająć wiele godzin na twoim komputerze, nie wspominając już o tym, że prawdopodobnie nie masz wystarczającej ilości miejsca na dysku twardym do przechowywania wszystkich zasobów w pełnej rozdzielczości, z których korzysta ich renderfarm.
Dzisiejsze komputery mogą być w stanie tworzyć Toy Story w czasie rzeczywistym. Ponadto, jeśli masz wysokiej klasy sprzęt do gier, przerywniki graficzne w czasie rzeczywistym są oczywiście rodzajem wideo niezależnego od rozdzielczości.
źródło
Istnieje kodek wektorowy, którego używałem - ale nie może żyć poza edycją.
Flash eksportuje format pliku SWF, który zachowuje informacje o wektorze ruchu po zastosowaniu w After Effects (nie wiem, czy działa w trybie Premier. NIE DZIAŁA w Final Cut). Po zaimportowaniu tych plików do AE zachowują swoją rozdzielczość niezależnie od skali i powiększenia. Wszystkie pozostałe funkcje mające zastosowanie do warstw kształtów mają zastosowanie do plików SWF.
Prawie każda inna aplikacja wizualna nie rozpoznaje formatu SWF, więc jego zastosowania są bardzo ograniczone. Ale istnieje kodek.
źródło
Studio GameMaker obsługuje grafikę i animację SWF / Vector. ale oczywiście dotyczy to gier wideo. Ale jestem pewien, jak działa gamemaker, dzięki czemu można tworzyć własne filmy rozruchowe.
źródło