Answers:
曾经有一个,但是它被废弃了,不再使用了,主要是因为缺乏移动支持,还由于它造成了安全问题。它被称为Flash。
巴斯大学几年前发表了一篇论文,展示了基于矢量的视频编解码器,并在新闻稿中询问“ 像素即将死吗? ”。从那以后奇怪的是像素还没有消失,实际上周围的像素比以前更多了。
您可能会争辩说,大多数视频编解码器实际上确实使用了矢量:DCT(或类似格式)(几乎在每个视频编解码器中都使用)是基于这样的想法,即您可以将任何信号完美地表示为多个余弦波的总和,或换句话说,就是将一堆向量加在一起。
但这并不意味着您可以将标准清晰度DV电影放大到4K,而不会损失清晰度。原因是,即使DCT编码的图像本质上是一堆数学函数,因此与分辨率无关,但是它们所编码的信号在带宽上仅限于捕获的原始数据。相机是一个低通滤镜,可以滤除任何比传感器分辨率更精细的细节(说出任何比传感器的奈奎斯特极限更精细的细节都可以使精度等于分辨率的1/2)。换句话说,没有任何编解码器可以编码最初不存在的信息。
因此,即使巴斯大学的编解码器也无法做到他们在电影中所做的那样,在电影中,您可以无限增强低分辨率,失焦的安全摄像机的镜头,直到看起来像是从哈苏出来的为止。
正如AJ Henderson提到的Flash动画是一种基于矢量的纯格式,但这仅适用于以矢量形式创建的内容,请勿与Flash视频(flv容器)相混淆,后者是一种光栅格式,其中的像素使用Sorenson Spark编码或VP6或良好的h.264(使用DCT)。
SVG支持使用JavaScript和animate元素的动画。不过,这意味着要使用浏览器或可嵌入的渲染器(如WebKit)来渲染它。
较老的游戏通常使用自己的矢量动画格式。您可能会研究ScummVM和Sarien等旧游戏引擎的开源实现所支持的资产格式。有一些资产提取器和编辑器,但是我不确定是否有任何独立的查看器,因此,如果要采用这种方法,您可能必须自己提取动画代码。
请问您的最终目标是什么?我之所以喜欢矢量图形,是因为我喜欢MOD和芯片音乐。较新的格式非常庞大且占用大量CPU,与坦率地说,与具有640k RAM或什至是Commodore 64的PC相比,它感觉像作弊。
以下是有关此主题的一些研究:
独立于分辨率的2D卡通视频转换 https://www.researchgate.net/publication/305390110_Resolution_Independent_2D_Cartoon_Video_Conversion
通过四面体网格化进行视频矢量化 http://wangchuan.github.io/archive/research/videovec/paper.pdf
具有硬件加速播放功能的经典卡通动画的视频编解码器 http://dcgi.felk.cvut.cz/publications/2005/sykora-isvc-vccca
我记得几年前当我在网上观看许多卡通和动漫时读过最后一篇。在全高清/ 4k显示器上观看时,许多流媒体门户所提供的视频分辨率为480p(甚至720p),并不能满足这些精美的轮廓图的要求。
IIRC的作者甚至还提供了示例视频文件及其播放器的下载(作为概念证明),但我现在找不到它们。
基于规则/计算的动画(矢量图形;实时渲染的游戏,Flash ...)的一个问题是,很难预测播放视频的机器是否能够足够快地渲染事物。但是,通常的视频编解码器也可能会遇到这种性能问题。我拥有的一些廉价笔记本电脑无法以播放所需的速度解码完整的hd / 4k视频...
但是,对于基于矢量/计算的图形,问题更加严重:渲染帧可能不需要限制计算能力。想想看:CGI电影可以作为用于制作它们的代码和资产来分发,而您的机器可以以任何帧速率和分辨率渲染它们。问题在于这些电影不是为此而设计的。计算帧可能会在您的计算机上花费数小时,更不用说您甚至可能没有足够的硬盘空间来存储其渲染场使用的全分辨率的所有资产。
但是,当今的计算机可能能够实时执行玩具总动员。另外,如果您有高端游戏平台,那么实时游戏中的图形过场动画当然也是一种与分辨率无关的视频。