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