apple4us

搅搅 HTML5 视频这滩浑水(3)WebM vs H.264

2010年初 Google 收购了 On2 及其旗下的全部视频压缩技术。当时业界的普遍猜测是 Google 会不会将 On2 旗下最先进的 VP8 视频编码开放。果然,2010 年中的时候  Google 宣布将 VP8 永久免费。Google 又基于开源容器格式 Matroska 开发了 WebM 容器格式,用以封装 VP8 编码的视频和 Vorbis 编码的音频。随后 Google 连同 Mozilla 和 Opera,准备将 VP8/Vorbis/WebM (统称为 WebM)推广为网络视频的通用格式。Google Chrome 浏览器在 WebM 发布后迅速更新为同时支持 Theora、H.264、WebM 三种格式。Mozilla 和 Opera 也宣布将在其浏览器的后续版本(主要是 Firefox 4)中原生支持 WebM。

VP8 是一种远好于 Theora 的视频编码。至于 VP8 和 H.264 比较起来效果怎样,情况稍微有点复杂。VP8 不是一个标准。目前只有一个由 On2 开发的参照实现(reference implementation)。这个含糊不清的参照实现公开后遭到很多开发者的诟病。主要问题在于对于很多技术细节,On2 只有几段代码而没有任何相关解释。这给理解、改进 VP8 带来了极大的困难。另一方面,虽然 Google 将 VP8 开源,但 VP8 整个设计过程是由 On2 秘密进行的,并且在 VP8 公开后不久,所有相关的数据规范随即被冻结,随之一起被冻结的还有这个参照实现的各种缺陷。因此严格上说 On2 并不是一个开放标准,所有的技术细节都掌握在 Google 手上。

本文在此之前多次提到 H.264 都将其简单描述成一种特定的视频编码格式。其实 H.264 只是一个工业标准,由众多业内企业和专家共同开发制定,不受单一厂商控制。H.264 有多种不同的等级(profile),每个等级对应了不同的复杂程度以适应不同的需求。多个等级的存在使得 H.264 具有非常灵活的适应性:小到 iPod Nano,大到高清蓝光播放器,都可以根据不同的计算能力和画质要求选择相应的等级。一般认为,VP8 和 H.264 的基础等级(Baseline Profile)相当(H.264 有很多为高清视频准备的等级)。

H.264 这个工业标准又有很多不同厂商开发的编码器、解码器实现(implementation)。即便遵循同一标准,不同的编码器、解码器产生的图像质量又有略微的区别,这使得直接比较 VP8 和 H.264 变得相对困难。目前针对 VP8 和 H.264 效果的测试,一般都是采用 Google 的 VP8 参照编码器实现和优秀的开源的 H.264 编码器 x264 压缩的视频图像进行对比。以现在的情况看,同等码率下 VP8 的效果仍然略输于 H.264。

然而和 Theora 一样 VP8 由于尚未经过市场检验,也存在潜在的专利问题。x264 的主要开发者之一曾对 VP8 的参照实现的源代码进行过仔细分析,得出的结论是 VP8 和 H.264 过于相似,很难相信没有任何专利侵权之处。Google 虽然宣布将 VP8 开源且永久免费,并且 Google 做过大量调查认为 VP8 应该不存在专利问题,但由于美国的专利制度的漏洞,谁也不能保证以后不会出现「潜艇专利」造成诉讼纠纷。一旦发生类似情况, Google 的 WebM 授权协议并不保护使用 WebM 的企业和个人。

另外,由于 WebM 刚刚出现,尚不存在现成的 VP8 硬件解码器,在处理能力弱小的便携设备上无法使用。WebM 发布后多家硬件厂商如 AMD、ARM、Broadcom 均宣布支持该格式,但并没有实际产品面世。另外的硬件厂商如 Intel、NVIDIA 则表示如果 WebM 广泛流行起来他们会提供相应的硬件产品,尚持观望态度。

目前争论 WebM 和 H.264 孰优孰劣的重点在于 WebM 虽然免费,但可能有潜在的专利问题,且由于没有硬件解码器无法在便携设备上使用;H.264 专利问题明朗,技术相对先进,有硬件解码器,且很多便携设备已经在广泛使用了,但需要付费。

H.264 涉及到很多专利技术,这些专利又由不同的组织和个人分别持有。如果有厂商要使用 H.264,显然他不可能一个一个去和这些专利持有人谈判。为了方便 H.264 的推广,持有 H.264 相关专利的组织和个人将其专利授权给一个名为 MPEG LA 的组织,然后由该组织统一收取 H.264 相关专利的授权费。

MPEG LA 将 H.264 专利许可分为两种:H.264 编码器和解码器(不论软硬件)厂商需要购买一种 H.264 的专利许可协议,H.264 编码的视频的分发商(如电视台等)需要购买另外一种 H.264 的专利许可协议。也就是说所有生产支持录制 H.264 视频的摄像设备、手机等的厂商都要向 MPEG LA 支付专利使用费。这个费用相对低廉:少于 10 万个设备免费;10 万个以上最多每个解码器 20 美分,且支付上限为每年 650 万美元。另外,MPEG LA 有规定,虽然每五年专利授权期过后它可以根据市场状况调整授权费用,但每次涨价不会超过 10%。因此厂商使用 H.264 制造编码器、解码器在成本上是有可靠保证的。所有支持 H.264 视频播放的硬件、软件厂商也要向 MPEG LA 支付专利费。大部分企业如苹果、微软、索尼等都购买了相应的 H.264 专利许可协议,因此最终用户在使用 H.264 技术制作和播放视频的时候不用担心费用问题。

问题出在 MPEG LA 对网络视频(如 YouTube)的规定上。YouTube 这样的站点属于视频的分发商。MPEG LA 对像电视台这样的传统视频分发商有完整的基于订阅用户数量的授权费用体系。但 MPEG LA 尚未对网络视频分发商收取专利费用。MPEG LA 每隔五年会更新其专利授权的相关规定。目前 MPEG LA 承诺在 2015 年底之前不会对分发 H.264 编码的网络视频收取专利费用。2015 年后是否收取费用则尚不明确。许多人认为 MPEG LA 的这个并不明确的态度会成为未来网络视频的隐患,而使用开源、免费的 WebM 则没有这个问题(注意这是假设 WebM 没有潜在专利问题)。另外一种观点则认为即便 WebM 没有大规模流行,它的存在可以迫使 MPEG LA 继续对分发 H.264 网络视频免费。【更新:评论中 cjsas 提到 MPEG LA 已经承诺永久免费了。我后来核对过确有此事。MPEG LA 于 2010 年 8 月宣布对通过互联网免费分发给最终用户的网络视频永久免费。收费的在线视频业务如 iTunes 电影租赁、Netflix、Hulu+ 等还是要收费。】

(待续)