¿Existe un tipo de video para la animación vectorial?

10

¿Existe un tipo de video basado en vectores, preferiblemente de código abierto, para que se pueda producir un clip animado usando "reglas" en lugar de compresión de píxeles?

Esto significaría video sin pérdida de resolución independiente. Si existe, sería útil un enlace a las especificaciones.

ispiro
fuente

Respuestas:

13

Hubo uno, pero cayó en desuso y ya no se usa con mucha frecuencia, en gran parte debido a la falta de soporte móvil, pero también debido a problemas de seguridad que creó. Se llamaba Flash.

AJ Henderson
fuente
:) Así que de qué está deshabilitado en mi equipo! Gracias de todos modos. No sabía que está basado en vectores. Supongo que el códec de video (si ese es el término correcto en este caso) es flv. ¿Correcto?
ispiro
OKAY. Ahora veo que es SWF. Sabiendo que Flash está basado en vectores, ahora descubrí que hay más, como EVA y XARA. Gracias.
ispiro
También vale la pena señalar que estaba siendo semi sarcástico y semi serio en mi respuesta. Realmente no es un formato de video. El video, más o menos por definición, es de trama, sin embargo, hay formatos de animación reproducibles, de los cuales Shockwave Flash (ahora conocido como Flash) es el más utilizado. Como determinó, Flash Video es una cosa diferente y es una forma de video ráster diseñado para integrarse dentro de una animación Flash (que en realidad ha crecido hasta tener un sistema de secuencias de comandos completo dentro de su ejecución).
AJ Henderson
8

La Universidad de Bath lanzó un documento que demuestra un códec de video basado en vectores hace un par de años, con un comunicado de prensa que pregunta "¿ está a punto de morir el píxel? ". Curiosamente desde entonces, el píxel no ha muerto, de hecho, hay incluso más de lo que solía haber.

Podría argumentar que la mayoría de los códecs de video en realidad usan vectores: DCT (o similar), que se usa en casi todos los códecs de video, se basa en la idea de que puede representar cualquier señal perfectamente como la suma de varias ondas coseno, o en otras palabras, como un conjunto de vectores sumados.

Pero eso no significa que pueda escalar una película DV de definición estándar hasta 4K sin ninguna pérdida de nitidez. La razón de esto es que, aunque una imagen codificada con DCT es esencialmente un conjunto de funciones matemáticas y, por lo tanto, es independiente de la resolución, la señal que codifican tiene un ancho de banda limitado a los datos originales que se capturaron; la cámara es un filtro de paso bajo, que filtra cualquier detalle más fino que la resolución del sensor (probablemente sea más preciso decir cualquier detalle más fino que el límite Nyquist del sensor ~ = 1/2 de la resolución). En otras palabras, ningún códec puede codificar información que no estaba allí en primer lugar.

Entonces, incluso el códec de la Universidad de Bath no puede hacer lo que hacen en películas en las que puedes mejorar infinitamente una cámara de seguridad de baja resolución y fuera de foco hasta que parezca que salió de un Hasselblad.

La animación Flash como menciona AJ Henderson es un formato puro basado en vectores, pero es solo para contenido creado como vectores, y no debe confundirse con el video Flash (contenedor flv), que es un formato ráster donde los píxeles están codificados con Sorenson Spark o VP6 o buena ol 'h.264 (que usa DCT).

stib
fuente
Gracias. Como me refiero a la creación de animación usando vectores, sería un ajuste perfecto, aunque, como has dicho, puede que no sea un reemplazo para otros códecs para video capturado por una cámara. Ahora me pregunto si es práctico escribir mi propio código para transformar un conjunto de coordenadas (etc.) en un video. A diferencia del uso de software de terceros.
ispiro
Parece que debería aprender a usar el elemento de lienzo HTML5.
stib
Ese es un punto bastante bueno sobre el hecho de que la mayoría de las estimaciones de movimiento realmente están basadas en vectores, aunque no realmente en el contexto al que se refiere el OP ya que no puede escalar indefinidamente. Sin embargo, esas cosas de Bath son bastante impresionantes. Muy buena detección de bordes y ruta por lo que pude ver en la muestra.
AJ Henderson
No solo estimación de movimiento. DCT es intra frame, se usa en muchos códecs, incluso el códec de imagen JPEG.
stib
6

SVG admite animación usando JavaScript y el elemento animado. Sin embargo, eso significa usar un navegador o un procesador incrustable como WebKit para representarlo.

Los juegos más antiguos a menudo usaban sus propios formatos de animación vectorial. Puede consultar los formatos de activos compatibles con las implementaciones de código abierto de motores de juegos antiguos como ScummVM y Sarien. Hay algunos extractores de activos y editores, pero no estoy seguro de si hay espectadores independientes, por lo que es posible que tenga que extraer el código de animación usted mismo si tuviera que seguir esta ruta.

¿Puedo preguntar cuál es su objetivo final? Me gustan los gráficos vectoriales por la misma razón por la que me gustan los MOD y la música en chip; los formatos más recientes son enormes y requieren mucha CPU, y francamente parece una trampa en comparación con lo que se podría lograr en una PC con 640k de RAM o incluso un Commodore 64.

Sean Lynch
fuente
2

Aquí hay algunas investigaciones sobre este tema:

Resolución Conversión de video de dibujos animados 2D independiente https://www.researchgate.net/publication/305390110_Resolution_Independent_2D_Cartoon_Video_Conversion

Vectorización de video vía remeshing tetraédrico http://wangchuan.github.io/archive/research/videovec/paper.pdf

Códec de video para animaciones clásicas de dibujos animados con reproducción acelerada por hardware http://dcgi.felk.cvut.cz/publications/2005/sykora-isvc-vccca

Recuerdo haber leído este último cuando estaba viendo muchas caricaturas y animes en línea hace unos años. La resolución de video que obtienes con muchos portales de transmisión, 480p (o incluso 720p), simplemente no hace justicia a estos agradables dibujos de contorno cuando se ven en pantallas Full HD / 4k.

IIRC, los autores de dicho artículo incluso proporcionaron descargas de archivos de video de ejemplo y su reproductor en ese entonces (como prueba de concepto), pero no puedo encontrarlos ahora.

Un problema con las animaciones basadas en reglas / computación (gráficos vectoriales; juegos renderizados en tiempo real, flash ...) es que es difícil predecir si la máquina que reproduce el video podrá renderizar las cosas lo suficientemente rápido. Pero también puede tener este problema de rendimiento con los códecs de video habituales. Algunas computadoras portátiles baratas que poseía no podían decodificar videos full hd / 4k a la velocidad necesaria para la reproducción ...

Aún así, con los gráficos basados ​​en vectores / computación, el problema es peor: potencialmente no hay límite para la potencia de computación que puede necesitar para renderizar un marco. Piénselo: las películas CGI se podrían distribuir solo como el código y los activos utilizados para producirlas y su máquina podría procesarlas a cualquier velocidad de fotogramas y resolución. El problema es que estas películas no fueron diseñadas para esto. Calcular un marco puede llevar horas en su máquina, sin mencionar que probablemente ni siquiera tenga suficiente espacio en el disco duro para almacenar todos los activos a la resolución completa que utiliza su granja de procesamiento.

Sin embargo, las computadoras de hoy podrían hacer Toy Story en tiempo real. Además, si tiene una plataforma de juegos de alta gama, las escenas de gráficos en tiempo real en el juego también son, por supuesto, un tipo de video independiente de resolución.

masterxilo
fuente
Gracias, yo del pasado, por escribir esto, pensé que nunca volvería a encontrar el códec de video para animaciones clásicas de dibujos animados con reproducción acelerada por hardware dcgi.felk.cvut.cz/publications/2005/sykora-isvc-vccca nuevamente ...
masterxilo
Buen punto sobre el renderizado en tiempo real. Me pregunto si alguien está creando películas con herramientas como Unity y entregándolas como ejecutables.
stib
0

Hay un códec basado en vectores que he estado usando, pero no puede vivir fuera de la edición.

Flash exporta un formato de archivo swf que mantiene la información del vector de movimiento cuando se aplica en After Effects (no sé si funciona en Premier. NO funciona en Final Cut). Cuando estos archivos se importan a AE, mantienen su resolución independientemente de la escala o el zoom. Todas las demás características aplicables a las capas de forma son aplicables a swfs.

Casi todas las demás aplicaciones visuales no reconocen el formato SWF, por lo que sus usos son muy limitados. Pero el códec sí existe.

usuario11846
fuente
0

GameMaker studio es compatible con SWF / Vector art y animación. pero por supuesto eso es para videojuegos. Pero estoy seguro de cómo funciona Gamemaker, podrías hacer tus propios videos de arranque con él.

LordFenixNC
fuente