VP9
Developed by | |
---|---|
Initial release | December 13, 2012 |
Type of format | Compressed video |
Contained by | WebM, Matroska |
Extended from | VP8 |
Extended to | VP10 |
Open format? | Yes |
Website | webmproject.org/vp9 |
Developer(s) | |
---|---|
Development status | Active |
Written in | C |
Operating system | Unix-like (including GNU/Linux, FreeBSD and Mac OS X), Windows |
Type | Video codec |
License | New BSD license |
Website | webmproject.org |
VP9 is an open and royalty free[3] video coding format developed by Google. VP9 had earlier development names of Next Gen Open Video (NGOV) and VP-Next. VP9 is a successor to VP8. Its own successor, VP10, is currently under development. Chromium, Chrome, Firefox, and Opera support playing VP9 video format in the HTML5 video tag.
History
The development of VP9 started in the second half of 2011.[4][5] The design goals for VP9 included reducing the bit rate by 50% compared to VP8 while maintaining the same video quality, and aiming for better compression efficiency than the MPEG High Efficiency Video Coding (HEVC) standard.[6][5] In June 2013 the "profile 0" of VP9 was finalized, and two months later Google's Chrome browser was released with support for VP9 video playback.[7][8] In October of that year a native VP9 decoder was added to FFmpeg,[9] and to Libav six weeks later. Mozilla added VP9 support to Firefox in March 2014.[10][11]
Throughout, Google has worked with hardware vendors to get VP9 support into silicon. In January 2014, Ittiam demonstrated its VP9 decoder on ARM Cortex devices. The Ittiam VP9 Decoder, built in collaboration with ARM and Google, focuses on balancing power, scale and portability requirements. It can decode 1080p at 30fps using the ARM Mali-T604 GPU on an Arndale board, powered by Samsung’s Exynos 5 Dual SoC.[12][13] In early 2015 Nvidia announced VP9 support in its Tegra X1 SoC, and VeriSilicon announced VP9 Profile 2 support in its Hantro G2v2 decoder IP.[14][15][16]
In April 2015 Google released a significant update to its libvpx library, with version 1.4.0 adding support for 10-bit and 12-bit bit depth, 4:2:2 and 4:4:4 chroma subsampling, and VP9 multithreaded decoding/encoding.[17]
Microsoft announced in September 2015 that their Microsoft Edge browser will add VP9 support in future release.[18]
In January 2016, Ittiam demonstrated an OpenCL based VP9 encoder.[19] The encoder is targeting ARM Mali mobile GPUs and was demonstrated on a Samsung Galaxy S6.
Technical details
VP9 has many design improvements compared to VP8.[4][5] VP9 supports the use of superblocks[20] of 64x64 pixels.[4][5] A quadtree coding structure will be used with the superblocks.[4][5]
The VP9 format supports the following color spaces: Rec. 601, Rec. 709, Rec. 2020, SMPTE-170, SMPTE-240, and sRGB.[21][22]
Profiles
The VP9 format defines four profiles: profile 0, profile 1, profile 2, and profile 3.[7][23] Profile 0 allows for a bit depth of 8-bits per sample and supports 4:2:0 chroma subsampling.[7][23][24] Profile 1, which is optional for hardware, adds support for 4:2:2 chroma subsampling, 4:4:4 chroma subsampling, alpha channel support, and depth channel support.[7][23] Google later developed two high bit depth profiles: profile 2 and profile 3.[25][24][26] Profile 2 allows for a bit depth of 10-bits to 12-bits per sample and supports 4:2:0 chroma subsampling.[24] Profile 3 adds support for 4:2:2 chroma subsampling, 4:4:4 chroma subsampling, and alpha channel support.[24]
Adoption
- YouTube offers several resolutions of VP9 video, with Opus audio in the WebM file format, through DASH streaming, including 720p and 1080p,[27] and is now also using VP9 for 4K resolution content.[28]
- Some smart TVs support VP9.
- Android supports decoding VP9, from version 4.4 "KitKat" and newer.[29]
- In September 2015, Microsoft announced the Edge browser in Windows 10 will add support for WebM/VP9.[18][30]
- On April 11, 2016, full VP9 support was announced in the newest MythTV version (0.28).[31]
Hardware Encoding/Decoding Support
The following chips, CPUs, GPUs and SoCs[32] provide hardware acceleration of VP9.
Chip | VP9 decoding | VP9 encoding |
---|---|---|
AllWinner A80 | ||
Intel Bay Trail[33] | ||
Intel Merrifield[34] | ||
Intel Moorefield[34] | ||
Intel Skylake[35][36] | partial | |
Intel Kaby Lake[37][38] | ||
Mediatek MT6795 | ||
NVIDIA GeForce GTX 750 SE/950/960 (GM206 GPU) | ||
NVIDIA Tegra X1[39] | ||
Qualcomm SnapDragon 820[40] | ? | |
Rockchip RK3188 | ||
Samsung Exynos 7 Octa 7420[41] | ||
Samsung Exynos 8 Octa 8890 | ? |
VP10
On September 12, 2014, Google announced that development on VP10 had begun and that after the release of VP10 they plan to have an 18-month gap between releases of video formats.[42] In August 2015, Google began to publish code for VP10.[43]
VP10 is supposed to be released end of 2016.[44]
AOMedia Video, also called AV1, will use elements of VP10.[45][46]
See also
- WebM - the container format most often used with VP9
- Opus - the audio format most often combined with VP9 video
- Alliance for Open Media – a collaboration for a future video codec based loosely on VP10, Daala and Thor
References
- ↑ "VP9 Video Codec Summary". WebM Project (Google). Retrieved 2013-07-04.
- ↑ Lou Quillio (2013-07-01). "VP9 Lands in Chrome Dev Channel". WebM Project (Google). Retrieved 2013-07-04.
- ↑ Janko Roettgers (Gigaom), January 2, 2014: YouTube goes 4K, Google signs up long list of hardware partners for VP9 support
- 1 2 3 4 "VP-Next Overview and Progress Update" (PDF). WebM Project (Google). Retrieved 2012-12-29.
- 1 2 3 4 5 Adrian Grange. "Overview of VP-Next" (PDF). Internet Engineering Task Force. Retrieved 2012-12-29.
- ↑ "Next Gen Open Video (NGOV) Requirements" (PDF). WebM Project (Google). Retrieved 2012-12-29.
- 1 2 3 4 Paul Wilkins (2013-05-08). "VP9 Bitstream finalization update". WebM Project (Google). Retrieved 2013-05-17.
- ↑ "VP9 profile 0 release candidate". Chromium (web browser) (Google). 2013-06-11. Retrieved 2013-06-19.
- ↑ "Native VP9 decoder is now in the Git master branch". Launchpad. 2013-10-03. Retrieved 2013-12-08.
- ↑ Bug 833023 – (vp9) Implement VP9 video decoder in Firefox
- ↑ https://www.mozilla.org/en-US/firefox/28.0/releasenotes/
- ↑ "Ittiam and ARM are the first to efficiently bring Google’s VP9 to mobile devices". ARM Community. 2014-01-07. Retrieved 2013-07-04.
- ↑ "Ittiam's H.265 and VP9 Solutions to Have Widespread Coverage at CES 2014". ARM Community. 2014-01-07. Retrieved 2013-07-04.
- ↑ http://www.nvidia.com/object/tegra-x1-processor.html
- ↑ Joshua Ho, Ryan Smith (AnandTech), January 5, 2015: NVIDIA Tegra X1 Preview & Architecture Analysis
- ↑ "VeriSilicon Introduces Hantro G2v2 Multi-format Decoder IP with VP9 Profile 2 to Support 10-bit Premium Internet Content". Business Wire. 2015-03-02. Retrieved 2015-03-02.
- ↑ Michael Larabel (2015-04-03). "libvpx 1.4.0 Brings Faster VP9 Encode/Decode". Phoronix. Retrieved 2015-04-03.
- 1 2 Andy Glass; Jerry Smith (September 8, 2015). "Announcing VP9 support coming to Microsoft Edge". Microsoft Edge Team.
- ↑ "A High Performance, OpenCL-Based VP9 Encoder". phoronix.com. 12 January 2016. Retrieved 12 January 2016.
- ↑ pieter3d (October 18, 2013). "How VP9 works, technical details & diagrams". forum.doom9.org. Retrieved 31 March 2014.
- ↑ "Add slightly more colorspace variations". Chromium (web browser) (Google). 2013-06-07. Retrieved 2013-06-19.
- ↑ "Change the use of a reserved color space entry". Chromium (web browser) (Google). 2014-11-06. Retrieved 2014-11-07.
- 1 2 3 "Merge "Add bits for colorspace, profile" into experimental". Chromium (web browser) (Google). 2013-06-07. Retrieved 2013-06-19.
- 1 2 3 4 "Reworks high-bit-depth profiles". Chromium (web browser) (Google). 2014-06-10. Retrieved 2014-06-28.
- ↑ "Update on WebM/VP9". Google Developers. 2014-06-25. Retrieved 2014-06-28.
- ↑ "Remove experimental-bitstream flag for profiles>0". Chromium (web browser) (Google). 2014-10-03. Retrieved 2015-03-02.
- ↑ "YouTube now uses VP9 as standard (for popular videos)". 29 May 2014. Retrieved 19 February 2015.
- ↑ "YouTube goes 4K and VP9 at CES". slashdot.org. 2014-01-03. Retrieved 2014-02-16.
- ↑ "android supported media formats". Retrieved 9 September 2015.
- ↑ "Comments on the Alliance for Open Media, or, "Oh Man, What a Day"". Monty Montgomery. Retrieved 2015-09-02.
- ↑ "Release Notes - 0.28". 11 April 2016. Retrieved 23 April 2016.
- ↑ "SoCs Supporting VP8/VP9 - wiki". wiki.webmproject.org. Retrieved 2016-01-18.
- ↑ "New Intel IGP drivers add H.265, VP9 hardware decode support". The Tech Report. Retrieved 2016-01-18.
- 1 2 "Imagination makes efficient VP9 video decode a reality for all mainstream devices - Imagination Blog". Imagination Blog. Retrieved 2016-01-18.
- ↑ "vaapi/intel-driver". cgit.freedesktop.org. Retrieved 2016-04-19.
- ↑ "intel-hybrid-driver". github.com. Retrieved 2016-04-19.
- ↑ "vaapi/intel-driver". cgit.freedesktop.org. Retrieved 2016-04-19.
- ↑ "intel-hybrid-driver". github.com. Retrieved 2016-04-19.
- ↑ "Introducing The Tegra X1 Super Chip from NVIDIA". www.nvidia.com. Retrieved 2016-01-18.
- ↑ "Snapdragon 820 Processor Product Brief | Qualcomm". Qualcomm. Retrieved 2016-01-18.
- ↑ "Experience the Amazing Exynos by Visiting Samsung Exynos Website.". www.samsung.com. Retrieved 2016-01-18.
- ↑ Stephen Shankland (September 12, 2014). "Google's Web-video ambitions bump into hard reality". CNET. Retrieved September 13, 2014.
- ↑ Michael Larabel (Phoronix.com), 17. August 2015: Google Starts Pushing Out VP10 Open-Source Code Into Libvpx
- ↑ http://www.winxdvd.com/resource/everything-about-vp10.htm
- ↑ "The Alliance for Open Media Welcomes New Members and Announces Availability of Open Source Video Codec Project". Alliance for Open Media. 2016-04-05. Retrieved 2016-04-07.
- ↑ Ozer, Jan (2016-04-12). "A Progress Report: The Alliance for Open Media and the AV1 Codec". StreamingMedia.com. Retrieved 2016-04-13.
[...] code from VP10, by far the most mature of the three, will dominate.
External links
- Official website
- "WebM and the New VP9 Open Video Codec", I/O (YouTube) (video), Google, 2013.
|