VP9

VP9是Google为了替换老旧的VP8影像编码格式并与动态专家图像组（MPEG）主导的高效率影片编码（H.265/HEVC）竞争所开发的免费、开源的影像编码格式。

VP9主要被用于Google旗下著名的影音分享网站YouTube。VP9一般与Opus音讯编码一起以WebM格式封装。

相比于高效率影片编码，许多浏览器都支持VP9影片格式，截止2018年6月，约有4/5的浏览器（包括移动设备）支持WebM封装容器和VP9影片编码，例如Chromium、Chrome、Microsoft Edge、Firefox、Opera等浏览器都内置了VP9解码器，可在HTML5播放器中播放VP9影像格式。Windows 10操作系统也内置了WebM分离器和VP9解码器，随着 Apple 宣布 tvOS 14 将支持 VP9，由于同源的关系 iOS/iPadOS 14 及 macOS Big Sur 下的 Safari 也终于支持了 VP9。

随着开放媒体联盟的出现和Google参与到VP9下一代格式AV1的开发中，人们对VP9产生了更浓厚的兴趣。VP10影片编码的技术被收录在开放媒体联盟所领导的AV1编码中，因此Google表示不会在内部部署或正式发布VP10。

Google持有VP9影片格式的部分专利，但Google保证在互惠的条件下（例如使用者避免参与专利诉讼）可免费使用。

## 开发历史

VP9是谷歌在2010年以1.34亿美元收购创建它的On2 Technologies公司时一起收购的TrueMotion系列影片格式的最后一个官方版本。

VP9的开发从2011年第三季度开始，初期开发代号为Next Gen Open Video（NGOV）和VP-Next，VP9的目标是在同画质下比VP8编码减少50%的文件大小并在编码效率上超越由动态专家图像组主导开发的高效率影片编码。

2013年6月，VP9的“Profile 0”最终确定。谷歌的Chrome浏览器在两个月后宣布支持VP9视讯播放。同年10月，一个原生的VP9解码器被添加到FFmpeg和六周后更新的Libav。Mozilla则于2014年3月向Firefox添加了VP9支持。

2013年，谷歌发布了WebM格式的更新版本，正式支持VP9和Opus音讯。

2014年，谷歌向VP9添加了两个高色彩深度Profile：Profile 2和Profile 3。

在VP9的整个开发过程中，谷歌与硬件供应商合作，将VP9解码支持加入到芯片。2014年1月，Ittiam与ARM和谷歌合作，展示了其针对ARM Cortex架构的VP9解码器，该解码器使用图形处理器通用计算技术，能够在Arndale Board上以30帧每秒的速度播放1080p分辨率的VP9影片。2015年初，Nvidia在其图睿X1中添加了VP9解码支持，而芯原微电子也在其Hantro G2v2解码器中添加了VP9 Profile 2支持，而英特尔(Intel)则在第七代Core系列处理器增加对VP9 Profile 2的部分支持(只能解码4:2:0采样)，在第十代完整支援VP9 Profile 2规格与编码支持。

2015年4月3日，谷歌发布libvpx1.4.0，增加了对10位和12位色彩深度、4:2:2和4:4:4色度抽样以及多线程编解码的支持。

2015年12月，Netflix发表了一份草案，希望将VP9影片格式纳入带有MPEG公共加密的MP4封装容器的注册格式中。

2016年1月，Ittiam展示了基于OpenCL的VP9编码器。该编码器针对ARM Mali移动GPU，并在三星Galaxy S6上进行了演示。

而后VP9解码器被添加到微软开发的Web浏览器Edge，EdgeHTML 14.14291及之后的开发版本均支持VP9解码，并最终于2016年夏季正式发布搭载VP9解码器的Edge浏览器。

2017年3月，Ittiam宣布完成了一项旨在提高libvpx编码速度的项目。其称VP9的编码速度将会因此提升50-70％，代码将会“作为libvpx的一部分公开发布”。

## 技术细节

相对于前一代的VP8编码，VP9做了许多改进：VP9支援32×32的编码区块，且将来会扩充到64×64的规格，此外VP9还支援以下的色彩空间：Rec. 601、Rec. 709、Rec. 2020、SMPTE-170、SMPTE-240和sRGB。

VP9最高可支持 65536×65536的分辨率，相对而言H.265(HEVC)只支持到8192x4320.

VP9支持使用混合对数伽马（HLG,hybrid log-gamma）的HDR视频。

### 编码格式设定

VP9标准支援四种编码格式设定（Profiles）：profile 0、profile 1、profile 2及profile 3。Profile 0支援4:2:0的色度抽样；Profile 1针对硬件播放环境，支援新增支援4:2:2的色度抽样、4:4:4色度抽样、alpha channel支援和depth channel支援；Profile 2及Profile 3则支援10位元色彩深度的编码格式设定。

### 操作系统支持

Microsoft Windows｜macOS｜BSD / Linux｜Android｜iOS

编解码支持｜是｜是｜是｜是｜是

容器支持｜Windows 10 1607更新后：、Matroska (.mkv) Windows 10 1809更新后：、WebM (.webm)、Matroska (.mkv)｜macOS 11.3 beta 2更新后：、WebM (.webm) ｜、WebM (.webm)、Matroska (.mkv)｜、WebM (.webm)、Matroska (.mkv)｜不适用

注释｜Windows 10 1803更新后，系统内置 Web Media Extensions, Microsoft Edge 17支持标签内的VP9视频Windows 10 1809更新后，系统内置 VP9 Video Extensions，无需设备硬件支持也可解码｜自macOS 11.0开始支持｜自FFmpeg 2.7.7 "Nash"开始支持｜自Android 4.4开始支持｜自iOS 14.0开始支持

## 参见

- High Efficiency Video Coding（HEVC，或称H.265）
- WebM
- AOMedia Video 1

## 基本资料

- 所有者：Google
- 发行日期：2012年12月13日
- 类型：影像压缩
- 使用容器：WebM、Matroska、IVF
- 扩展自：VP8
- 扩展为：AV1
- 标准：//storage.googleapis.com/downloads.webmproject.org/docs/vp9/vp9-bitstream-specification-v0.6-20160331-draft.pdf VP9 Bitstream & Decoding Process Specification
- 免费在线档案：Yes
- 网站： webmproject.org/vp9
- 日语原文：libvpx（VP9编码函式库）
- 开发者：Google
- 发行日期：2010年5月18日
- 软件版本周期：1.9.0
- 编程语言：C
- 操作系统：Unix-like（包含GNU/Linux、Mac OS X）、Windows
- 类型：视讯编解码器
- 许可协议：BSD授权条款，附加专利使用权
- 网站： webmproject.org