Existe um tipo de vídeo para animação vetorial?

10

Existe um tipo de vídeo baseado em vetor, preferencialmente de código aberto, para que um clipe animado possa ser produzido usando "regras" em vez da compactação de pixels?

Isso significaria vídeo independente de resolução sem perdas. Se existir - um link para as especificações seria útil.

ispiro
fonte

Respostas:

13

Havia um, mas caiu em desuso e não é mais usado com frequência, principalmente devido à falta de suporte móvel, mas também devido a problemas de segurança que ele criou. Foi chamado de Flash.

AJ Henderson
fonte
:) É por isso que está desativado no meu computador! De qualquer forma, obrigado. Eu não sabia que é baseado em vetor. Presumo que o codec de vídeo (se esse for o termo correto neste caso) é flv. Corrigir?
Ispiro
ESTÁ BEM. Agora vejo que é SWF. Sabendo que o Flash é baseado em vetores, agora descobri que existem mais, como EVA e XARA. Obrigado.
Ispiro
Também vale ressaltar que eu estava sendo semi-sarcástico e semi-sério na minha resposta. Realmente não é um formato de vídeo. O vídeo, praticamente por definição, é raster, no entanto, existem formatos de animação reproduzíveis, dos quais o Shockwave Flash (agora conhecido como Flash) é o mais usado. Como você determinou, o Flash Video é uma coisa diferente e é uma forma de vídeo raster projetado para ser incorporado a uma animação em Flash (que na verdade cresceu para ter um sistema de script completo permitido dentro de sua execução.)
AJ Henderson
8

A Universidade de Bath divulgou um artigo demonstrando um codec de vídeo baseado em vetor há alguns anos, com um comunicado à imprensa perguntando " o pixel está prestes a morrer? ". Estranhamente desde então, o pixel não morreu, na verdade, existem ainda mais deles do que costumava existir.

Você pode argumentar que a maioria dos codecs de vídeo realmente usa vetores: DCT (ou similar), que é usado em praticamente todos os codecs de vídeo, baseia-se na ideia de que você pode representar qualquer sinal perfeitamente como a soma de várias ondas de cosseno, ou em outras palavras, como um monte de vetores somados.

Mas isso não significa que você pode dimensionar um filme DV de definição padrão até 4K sem perda de nitidez. A razão para isso é que, embora uma imagem codificada em DCT seja essencialmente um monte de funções matemáticas e, portanto, seja independente da resolução, o sinal que elas codificam é limitado em largura de banda aos dados originais capturados; a câmera é um filtro passa-baixo, filtrando qualquer detalhe mais fino que a resolução do sensor (provavelmente é mais preciso dizer detalhes mais finos que o limite Nyquist do sensor ~ = 1/2 da resolução). Em outras palavras, nenhum codec pode codificar informações que não estavam lá em primeiro lugar.

Assim, mesmo o codec da Universidade de Bath não pode fazer o que eles fazem nos filmes, onde você pode aprimorar infinitamente uma câmera de segurança de baixa resolução e fora de foco até parecer que saiu de uma Hasselblad.

A animação em Flash, como AJ Henderson menciona, é um formato baseado em vetor puro, mas é apenas para conteúdo criado como vetores, e não deve ser confundido com vídeo em Flash (contêiner flv), que é um formato raster em que os pixels são codificados com Sorenson Spark ou VP6 ou bom e velho h.264 (que usa DCT).

stib
fonte
Obrigado. Como estou me referindo à criação de animação usando vetores, seria um ajuste perfeito, mas, como você afirmou, pode não ser um substituto para outros codecs de vídeo capturado por uma câmera. Agora, estou pensando se é prático escrever meu próprio código para transformar um conjunto de coordenadas (etc.) em um vídeo. Ao contrário de usar software de terceiros.
Ispiro
Parece que você deve aprender a usar o elemento de tela HTML5.
Stib
Esse é um argumento bastante bom sobre o fato de que a maioria das estimativas de movimento é realmente baseada em vetores, embora não no contexto ao qual o OP está se referindo, pois não pode ser dimensionado indefinidamente. Esse material de Bath é bastante impressionante. Detecção de borda muito agradável e análise do que eu poderia dizer da amostra.
AJ Henderson
Não apenas estimativa de movimento. O DCT é intraquadro, é usado em muitos codecs, até mesmo no codec de imagem JPEG.
Stib #
6

O SVG suporta animação usando JavaScript e o elemento animado. Isso significa usar um navegador ou renderizador incorporável como o WebKit para renderizá-lo.

Os jogos mais antigos costumavam usar seus próprios formatos de animação vetorial. Você pode examinar os formatos de ativos suportados pelas implementações de código aberto de mecanismos de jogos antigos, como ScummVM e Sarien. Existem alguns extratores e editores de ativos, mas não tenho certeza se existem visualizadores independentes, portanto, você pode extrair o código de animação por conta própria para seguir esse caminho.

Posso perguntar qual é o seu objetivo final? Eu gosto de gráficos vetoriais pela mesma razão que gosto de MODs e chip; os formatos mais recentes são enormes e com muita fome de CPU e, francamente, parece trapaça em comparação com o que poderia ser realizado em um PC com 640k de RAM ou até mesmo um Commodore 64.

Sean Lynch
fonte
2

Aqui estão algumas pesquisas sobre este tópico:

Conversão de vídeo em 2D independente dos desenhos animados em resolução https://www.researchgate.net/publication/305390110_Resolution_Independent_2D_Cartoon_Video_Conversion

Vetorização de vídeo via atualização tetraédrica http://wangchuan.github.io/archive/research/videovec/paper.pdf

Codec de vídeo para animações clássicas de desenhos animados com reprodução acelerada por hardware http://dcgi.felk.cvut.cz/publications/2005/sykora-isvc-vccca

Lembro-me de ler este último quando assisti muitos desenhos animados e animes online alguns anos atrás. A resolução de vídeo que você obtém com muitos portais de streaming, 480p (ou até 720p), não faz justiça a esses belos desenhos de esboço quando vistos em monitores HD / 4K completos.

No IIRC, os autores do referido artigo forneceram downloads de arquivos de vídeo de exemplo e seus reprodutores na época (como prova de conceito), mas não consigo encontrá-los agora.

Um problema com animações baseadas em regras / computação (gráficos vetoriais; jogos renderizados em tempo real, flash ...) é que é difícil prever se a máquina que reproduz o vídeo será capaz de renderizar as coisas com rapidez suficiente. Mas você também pode ter esse problema de desempenho com os codecs de vídeo comuns. Alguns laptops baratos que eu possuía não conseguiam decodificar vídeos full HD / 4K na velocidade necessária para a reprodução ...

Ainda assim, com gráficos baseados em vetor / computação, o problema é pior: não há potencial para o poder da computação que você pode precisar para renderizar um quadro. Pense bem: os filmes CGI podem ser distribuídos apenas como o código e os ativos usados ​​para produzi-los, e sua máquina pode renderizá-los em qualquer taxa de quadros e resolução. O problema é que esses filmes não foram projetados para isso. A computação de um quadro pode levar horas na sua máquina, sem mencionar que você provavelmente nem tem espaço suficiente no disco rígido para armazenar todos os ativos em resolução total que a fazenda de renderização usa.

Os computadores de hoje podem ser capazes de fazer Toy Story em tempo real. Além disso, se você possui um equipamento de jogos de última geração, as cenas gráficas em tempo real no jogo também são, obviamente, um tipo de vídeo independente de resolução.

masterxilo
fonte
Obrigado, eu do passado, por escrever isso, achei que nunca mais encontraria o codec de vídeo para animações clássicas de desenhos animados com reprodução acelerada por hardware dcgi.felk.cvut.cz/publications/2005/sykora-isvc-vccca novamente ...
masterxilo 25/03/19
Bom ponto sobre renderização em tempo real. Gostaria de saber se alguém está criando filmes com ferramentas como o Unity e entregando-os como executáveis.
Stib #
0

Há um codec baseado em vetor que eu estou usando - mas ele não pode viver fora da edição.

O Flash exporta um formato de arquivo swf que mantém as informações do vetor de movimento quando aplicadas no After Effects (não sei se funciona no Premier. NÃO funciona no Final Cut). Quando esses arquivos são importados para o AE, eles mantêm sua resolução, independentemente da escala ou zoom. Todos os outros recursos aplicáveis ​​às camadas de forma são aplicáveis ​​aos swfs.

Quase todos os outros aplicativos visuais não reconhecem o formato swf, portanto, seus usos são muito limitados. Mas o codec existe.

user11846
fonte
0

O GameMaker studio suporta arte e animação SWF / Vector. mas é claro que isso é para videogames. Mas tenho certeza de como o gamemaker funciona, você pode criar seus próprios vídeos inicializáveis.

LordFenixNC
fonte