VP8的前途与使命

article/2025/9/7 22:28:38

文 / 金尹 VP8是视频压缩解决方案厂商On2推出的视频压缩格式。今年年初,Google完成了对On2的收购,随即开放了VP8视频编码技术源代码并免费提供给开发者使用。但业界对此一直褒贬不一,本文作者从多个角度进行阐述,对VP8的前途与发展提出自己的看法。 三个月之前Google推出了VP8,网络上叫好叫骂的都有。那么VP8的前途到底如何呢?从目前市场上各种信息进行分析推理这个问题也不难回答。 VP8的推出是相当仓促的,它的原生编解码器性能非常糟糕。其实性能不是主要的问题,H.264的官方解码器JM的效率也很低。但是经过几年业界的研究和改进,特别是开源社区的贡献,主流的X264等解码器的性能已经相当不错了。但我们要看到JM和VP8之间的差别。JM实现目的不是为了实用,而是在功能上尽可能的描述出整个H.264的标准。严格的来说它只是H.264说明书的一部分。而VP8的代码则不同,它的代码是经过一定程度“优化”过的,有些模块甚至是高度优化的比如算术编码,这恐怕是一个半成品的显著特征。再来看VP8的标准文档,这恐怕是网络上诟病最多的问题。我看过MPE4、H.264、RMVB、VC-1、Dirac,甚至它的前代VP3/Theora,没有哪一个标准的文档写的如此之差:格式不清,大段大段的复制C代码作为说明。这样看来 On2的工程师还没有准备好把VP8纳入标准化的阶段,甚至还可能仅仅是处在一个半成品阶段就给Google赶鸭子上架推出来。由此可见,Google推VP8是出于市场策略上的考虑,而不是VP8本身的技术程度已经可以达到或者超过了H.264。我估计是为了回应日益加快的HTML5标准的制定步伐。 我们再来看看VP8的具体内容。VP8发布后的3天,x.264社区的工程师,就对VP8的核心算法进行了剖析,随之网上广为流传。我汇总了一下他们的一些观点(如下表)。

未标题-1
他们这些观点虽然有力,但是却有些无的放矢。因为VP8的战略目标并不在高清离线视频领域。从这张表里,你可以很清晰地发现,VP8所删除的特性大多数都是涉及到高清/离线视频。这些特性对于PC上观看高清视频是特别有用的,但是对于低带宽视频却没有太大用处。但是这并不表明VP8没有什么问题。 现在很多程序员认为VP8的发布对Google和开源社区是一个巨大的利好。有了一个基本上可以与H.264比肩的格式,那么凭着Google Always Beta的作风以及开源社区的对代码的持续改进,现VP8可以迅速的赶上H.264。这是一个过分乐观的观点。 首先一点是专利问题,假设Google能解决专利问题是不现实的。专利是一个法律专业的问题,具体的分析还是要请教律师。但是从很多其他的公司的尝试来看,其他公司都搞不定的事情,我们凭什么假定Google能搞定?开源社区还有一种乐观的观点是,有专利问题更好,只要私人公司提出专利,就是帮开源社区发现专利漏洞,开源社区就能重写代码绕过去。这也是一厢情愿的想法。最直接的例子就是Frogent公司对JPEG的专利诉讼,它并不是在JPEG成为标准时候就立刻进行诉讼,而是等JPEG在网络上大规模应用了多年后,突然发难。这时无论你修不修改算法,都已经不重要。市面上大大小小的软硬件公司都已经掉进它的坑里去了。另外我们也必须看到现在MPEG-LA的收费策略也日益趋向灵活,像YouTube这样的不收费的视频网站,他们是不收取专利费的。如果为了应对VP8的竞争,不改变收费策略对他们也没有太多的损失。 抛开专利问题不谈,从软硬件的发展趋势来说,VP8竞争的时间窗也是极为短暂的。因为我个人觉得VP8在追求两个完全相反的目标——低带宽网络视频与开源策略。 如果以目前PC平台上的低带宽网络视频以及HMTL5作为主要目标,VP8的确是一个不错的替代品。我完全相信Google和开源社区能够把现在的VP8做到最好。毕竟X264就是一个成功案例。但是我们必须面对这样一个问题,目前我们处于网络速度大提升的过程中。美国的普遍的宽带速度都已经达到了3.8M,5~10M的带宽正在迅速的普及。即便是中国这样一个网络基础设施相对落后的国家,在上海北京这些城市都已经开始推广5~8M的第二代宽带。带宽对于视频清晰度的制约会越来越小,网络视频会从现在的主流的360p、480P向720p、1080P发展。从技术方面来说VP8对H.264构成威胁只有两三年,甚至更短。而开源社区/Google自身要把VP8从画质压缩率速度优化到足以匹敌H.264,仍然需要极长的时间。就目前VP8的状态来看,业界对他们的标准规范的消化都需要漫长的时间,留给VP8冲击市场的时间并不是很充裕。720p时代如果如约来临的话开源社区又做何设想?等待Google的VP9、VP10么? 低带宽网络视频更大的潜在市场应该是手持设备和无线视频市场。在这个市场上,带宽的提速相对来说缓慢的多,360p仍然在长时间内占据主导地位。但是在这个市场上VP8的前景仍然是不容乐观的。手持设备上必须考虑,发热量、功耗、用电的问题。如果采用ARM这样的通用CPU进行解码。由于它们本身不是为视频编码进行专门优化过的势必会增加功耗降低电池使用时间。而专用的视频解码硬件则可以在解码效率、质量,以及发热功耗、用电问题上做全方位的平衡,因此搭配专用的解码硬件是目前的移动领域的主流方案。目前市场上H.264的硬解码硬件已经极为的普及。与软件开发极为不同,芯片的设计制造是需要极大的成本的,VP8的开源策略并不能占有太多的优势。从最初的IC设计,到最后的流片,是一个相当漫长而昂贵的流程。如果VP8不能在短时间出现一个稳定的版本,而仍然按照Always Beta的方式发布。那么很难有IC厂商愿意跟着VP8后面频繁的更换固件设计。再从投资的角度保护来看,目前很多的专用芯片已经能够支持到H.264的High Profile,也就是说即便无线视频领域也进入720p的时代,那么这些硬件设计仍然可以使用,而VP8的专用芯片则不得不进行大量的升级。现在已经完全稳定的H.264则完全没有这些问题。另外软件算法的专利并不能涵盖硬件电路的设计专利。比如DCT的快速算法在软件领域是没有专利问题的,但是在硬件电路的制造上是属于MPEG-LA的专利。最为重要的是,手持设备上的空间面积、发热、功耗决定了设备厂商不太可能搭载2块以上的硬解码芯片。他们只能两者取其一,要么H.264要么VP8。这也是为何Jobs坚决反对VP8的原因之一。 作者简介: 金尹(Trustno1),曾经在电信领域工作6年,长期从事电信级Boss系统、CTI、IVR系统的研发。《Erlang程序语言设计》一书译者。2009年加盟盛大创新院任研究员,目前转向高性能视频编解码算法、并行计、高性能图形芯片和通用计算的研究。 (本文来自《程序员》杂志10年08期) 《程序员》11期精彩内容预告:互联网架构集结号 http://www.programmer.com.cn/4218/ 《程序员》订阅 http://dingyue.programmer.com.cn/


http://chatgpt.dhexx.cn/article/7AiI8xvv.shtml

相关文章

如何使用Win10剪切板

几乎所有接触电脑的人都会使用CtrlC和CtrlV,但是每次CtrlC只能复制一次,并且会覆盖之前已经复制的内容。如果需要多次复制不同内容,那就操作多次。如果需要切换页面进行复制,特别不方便。其实,Win10有内置剪切板&#…

windows剪切板的历史记录

windows剪切板的历史记录 最近遇到一件比较坑的事情。当然可能也是我本人粗心大意了吧。但是这种事情难免要发生。比如说你要移动一个比较重要的东西,然后按了ctrlx,但是之间因为别的事情耽搁了一下,而自己的重要的东西还放在剪切板里面&…

win10如何查看剪切板内容?

cv大法我们经常用,但如果复制了新的内容但又想粘贴使用上次复制的内容怎么办? 其实复制新的内容并没有覆盖掉之前复制的内容,可以使用CtrlV快捷键打开剪切板,在剪切板里可以找到以前复制过的内容。 注意:这里的剪切板…

windows 剪贴板监控

迅雷下载或者旋风下载都有一个很有意思的剪贴板监控功能,当你打开剪贴板监控时,如果你复制了一个下载的URL,这两个程序都会弹出来下载框来让你去下载,显得很智能,昨天发现灵格斯词霸也有个剪贴板取词功能。 上个月写了…

Win10清空剪切板内容的方法介绍

剪切板是用户最经常使用的系统功能,可以对想要操作的内容进行临时缓存,但是长时间对里面的内容不清理的话,就会造成系统卡顿。下面小编就给大家介绍一下Win10清空剪切板内容的方法。 操作过程: 1、在Win10桌面空白处点击鼠标右键&…

WIN10剪切板打不开无法调用win+v无法打开

1.确认设置——>剪切板设置——>剪切板打开 2.第一步打开之后仍然无法调用尝试第二步 管理员运行cmd——>输入以下命令 DISM /Online /Add-Capability /CapabilityName:Windows.Client.ShellComponents~~~~0.0.1.0 等待安装完毕——>winv调用成功!

Windows 远程桌面剪切板失效

环境: Windows Server 2019 Windows 10 问题描述: 从本机复制文本或图片,无法粘贴到远程主机,从远程主机无法复制文本或图片到当前本地主机,远程桌面剪切板失效 解决方案: 1.在远程主机打开任务管理器,找到rdpcli…

windows如何查看剪贴板历史

改论文的时候,总是因为复制粘贴后找不到上一个复制而烦恼,每次都要alttab来回切换 甚是烦恼,无意间找到访问粘贴板的快捷键分享一下。 WinV 第一步,打开开始菜单栏点击设置 第二步、选择系统设置 第三步、下拉选择剪贴板 第四步…

windows如何修改复制粘贴与剪切快捷键?

背景介绍 在用惯了Mac OS后,发现其复制粘贴的默认快捷键确实好用windows上我们都值是ctrl c / v / x 来实现但是大家在日常使用过程中不觉得ctrl 这几个键手指头按的很费劲吗?究其根本原因还是离的有点远了而我更喜欢用简谱上类似Mac OS 的的位置 Alt …

Windows10剪贴板的使用

在windows10操作系统中,有一个非常好用的软件——剪贴板。使用快捷键(winv)可打开剪贴板。 在剪贴板中历史记录可最多存放25条,容量限制大小为每项4MB,共25个复制条目,先进先出。(2018年10月更…

如何清空windows的系统剪贴板

有的时候我们需要模拟清空系统剪贴板的场景可以如下操作: windows11系统为例子: windows菜单,选择 设置 打开设置面板 搜索 剪贴板 点击清除即可

windows 清空剪切板

清空剪切板有多重方法: 一、方法最快捷 windows徽标键r启动运行,输入cmd打开命令窗口:输入“dir | clip”(不包括引号),回车即可。 Windowsr,输入 cmd /c "echo off | clip" ,Ente…

Windows10如何查看剪切板

一、Ctrlr,输入clipbrd,回车 二、找不到clipbrd.exe 1、网上搜索下载clipbrd.exe,资源很多的。下载之后解压 2、将 clipbrd.exe 复制到 C:\Windows\System32 三、重复第一步 .

【技巧】windows剪切板

快捷键windowv打开常用剪切板

OpenCV--SVM多分类问题

物体识别中经常遇到多分类器问题,svm是比较成熟和直接的想法。一般来说使用svm作为多分类器主要有以下思路: 一对多(one-vs-all)。训练时依次将目标类别作为正样本,其余样本作为负样本,以此训练n个svm。这个在Andrew Ng的Machine…

svm多分类python代码_SVM算法的理解及其Python实现多分类和二分类

原理 SVM被提出于1964年,在二十世纪90年代后得到快速发展并衍生出一系列改进和扩展算法,在人像识别、文本分类等模式识别(pattern recognition)问题中有得到应用。 支持向量机(Support Vector Machine, SVM)是一类按监督学习(supervised learning) 方式对数据进行二元分类的广…

MATLAB实现SVM多分类(one-vs-rest),利用自带函数fitcsvm

MATLAB实现SVM多分类(one-vs-rest),利用自带函数fitcsvm SVM多分类一对一(one-vs-one)一对多(one-vs-rest)fitcsvm简单介绍代码实验结果图第一次写博客,还请大家多多包涵,欢迎指教&a…

SVM多分类原理学习

https://scikit-learn.org/stable/modules/svm.html https://sklearn.apachecn.org/docs/master/5.html 中文翻译 SVC,NuSVC,LinearSVC在一个数据集上可以实现二分类,也能多类分类 SCV和NuSVC是相似的方法,但是接受的参数设置可…