What Is VP9?
This is another installment in our series of "What Is...?" articles, designed to offer definitions, history, and context around significant terms and issues in the online video industry.
VP9 is an open-source codec from Google that was developed from technology acquired from On2 Technologies in February 2010 for an estimated $124.6 million. The first codec Google released from this acquisition was VP8, which was paired with the Vorbis audio codec in the WebM file structure. VP9 is the next iteration of the codec, which became available on June 17, 2013. VP9 will be the last VPx-based codec released by Google, as the company contributed all codec technology to the Alliance for Open Media in September 2015.
Both VP8 and VP9 are available under a free BSD license that enables users to deploy encode or decode capabilities in both proprietary software and open-source software without disclosing their source code in either instance.
Technical Overview of VP9
VP9 development started in late 2011. Coding tools include multiple prediction block sizes, from 64x64 down to 4x4; up to 10 intra predictors, sub-pixel interpolation; three different transform types; and entropy encoding. The codec supports a maximum resolution of 8192x4352 at up to 120 fps and multiple color spaces, including Rec 601, Rec 709, Rec 2020, SMPTE-170, SMPTE-240, and sRGB. A technical paper detailing these codec components and operation is available here.
In terms of performance, VP9 has been compared to HEVC and H.264 multiple times by multiple researchers with wildly varying results. For example, in "Comparison of compression efficiency between HEVC/H.265 and VP9 based on subjective assessments," by Martin Rerabek and Touradj Ebrahimi, the authors concluded that, "objective-based measurements shows that HEVC achieves average bitrate savings of 39.6% versus AVC and 35.6% versus VP9, [while] subjective scores show an average bitrate reduction of HEVC by 52.6% in comparison to AVC and 49.4% in comparison to VP9." In other words, HEVC was significantly better than VP9, which really was no better than H.264.
Next up is the paper entitled "Comparative Assessment of H.265/MPEG-HEVC, VP9, and H.264/MPEG-AVC Encoders for Low-Delay Video Applications," authored by Dan Grois Detlev Marpea, Tung Nguyena, and Ofer Hadarb. Here, the authors found, "According to the detailed experimental results, the coding efficiency of VP9 was shown to be inferior to H.265/MPEG-HEVC with an average bit-rate overhead of 32.5% at the same objective quality for the 1-pass encoding, and 32.6% for the 2-pass encoding. In other words, HEVC produced the same quality as VP9 at a data rate of about 32% lower.
Other tests were more positive. Iain Richardson, founder of Vcodex and author of four video compression books, produced a comparison in September 2014 largely based upon ratings by ten subjective non-expert viewers. He concluded, "At the higher end of the quality scale (i.e. lower compression), both HEVC and VP9 achieve a similar viewing quality to H.264 with a 40-45% reduction in file size." In other words, HEVC and VP9 were at relative parity.
In April 2015, Streaming Media published comparative results showing that HEVC and VP9 produced virtually identical quality on the nine test samples. This was followed in November 2015 by the first HEVC comparison released by the prestigious Moscow State University (MSU) Graphics and Media Lab. In its study, MSU found that HEVC produced the same quality as x264 at 82% of the data rate, with VP9 close behind at 87%, ahead of all other HEVC codecs.
Figure 1. Moscow University found VP9 very close behind the x265 HEVC codec.
Most recently, on May 24, 2016, in an article entitled "Netflix Discusses VP-9 Related Development Efforts," David Ronca, Netflix’s director of encoding technologies, disclosed the company’s preliminary findings regarding VP9 quality. Specifically, he stated "we are seeing very good results with VP9 vs. x264. Our current data suggests that VP9 is less efficient than HEVC, but still very good. We are currently conducting codec comparisons, and will publish our results around the end of summer."
In real-world trials, in April 2015, VP9 and H.264 files downloaded from YouTube revealed that YouTube encoded VP9-based 1080p streams at a 43% lower data rate than H.264, with 720p streams about 35 percent lower, all with similar subjective quality. In encoding trials performed by JW Player prior to their release of VP9 in their online video platform, the company reported savings over H.264 of about 50% over their entire encoding ladder.
Encoding efficiencies have been criticized by multiple parties, including Netflix, who stated, "VP9 is considerably slower than x264...[and] we believe that the current libvpx VP9 encoder would benefit from some optimizations." In tests performed by Streaming Media, while the codec proved very inefficient in a multiple-core environment, deploying multiple encoder instances on the same computer produced encoding speeds only about ten percent slower than x264.
You can encode/decode VP9 in the command line using executables (vpxenc.exe) supplied by Google. Alternatively, you can use FFmpeg if compiled with libvpx support as described here. Using FFmpeg is simpler because the tool accepts many more input formats and provides much greater overall functionality.
Documentation for VP9 encoding with either executable is sparse. You can encode using variable bitrate, constant quality, constrained quality, constant bitrate, or in lossless mode, as defined here. The most detailed explanation regarding VPX encoding is available on the VP8 Encode Parameter Guide, which addresses issues like encode quality vs. speed, but most specific recommendations use VP8 in the command line arguments, so the applicability of the documented techniques to VP9 are unclear.
The WebM Wiki supplies some VP9-specific recommended settings for VOD, DASH, constant quality, and constrained quality here, but in Streaming Media tests, these settings proved very slow and the output quality was lower than presets supplied for our testing by JW Player. The JW Player-based presets used the capped CRF encoding mode, and were substantially faster than Google’s recommended settings as well as outputting superior quality.
As discussed above, the other issue with VP9 encoding with either command line tool is very low utilization of available CPU resources, particularly on computers with a very high number of cores. Developers seeking to build their own VP9 encoding systems will have to experiment to find the optimal settings, and deploy multiple simultaneous encoding instances to achieve commercially acceptable performance and quality.
Producers seeking to buy or license a third party encoder, or encode in the cloud, can find a list of commercially available VP9 encoding tools/services here, though the list includes tools that support VP8 encoding and VP9 encoding, not just VP9. Known VP9 supporters include the JW Player Online Video Platform (OVP), Zencoder, and Amazon Web Services cloud encoding platforms, Wowza Transcoder, and Telestream Vantage, though this list should quickly expand.
Single file VP9-encoded files are typically distributed in the WebM format. YouTube distributes adaptive bitrate files encoded in VP9 using the DASH container (Figure 2). To help promote consistent packaging of VPX-encoded files, Netflix has published a draft specification entitled VP Codec ISO Media File Format, which details DASH packaging and common encrytpion via ISO/IEC 23001-7 Part 7.
Figure 2. YouTube distributes VP9 encoded video in the DASH container format.
VP9 Playback Support
VP9 playback is available on the most current versions of browsers Chrome, Edge, Firefox, and Opera. VP9 playback is also available in Android versions 4.4+.
In terms of hardware support, Wikipedia maintains a list of chips, CPUs, GPUs, and SoCs that accelerate VP9 decoding available.
As of the date of this writing, the list includes multiple CPUs from Intel, the Mediatek MT6795, NVIDIA GeForce GTX 750 SE/950/960 (GM206 GPU), NVIDIA GeForce GTX 1070/1080 (GP104 GPU), NVIDIA Tegra X1, Qualcomm SnapDragon 820, Rockchip RK3188, Samsung Exynos 7 Octa 7420, and Samsung Exynos 8 Octa 8890.
Google has made VP9 (and HEVC) support mandatory for Android TV devices, and VP9 playback is now starting to appear on many 4K Smart TVs like the Samsung Performance Bundle 48". Many pundits and industry observers have predicted that YouTube’s support for VP9 will compel most Smart TV manufacturers to support VP9 in 2016 and beyond. Beyond Smart TVs, the Roku 4 Media Player also supports VP9 (and HEVC) playback.
YouTube is by far the largest distributor of VP9-encoded videos, distributing more than 25 billion hours of VP9-encoded video by April 2015. In conversations with Streaming Media, YouTube executives have stated that though the service currently streams 4K videos in both H.264 and VP9 formats, they ultimately plan to drop H.264 and distribute UHD videos solely in VP9.
JW Player will be the first OVP to deploy VP9, with trials starting in April 2016, and plans to start commercial streaming with VP9 before the end of summer of 2016. Brightcove has announced VP9 encoding support in their cloud encoding service Zencoder, with plans to deploy VP9 in their OVP by early 2017.
Intellectual Property Issues
In March 2013, MPEG LA and Google entered into agreements granting Google a license to technologies that "may" be essential to VP8 and one "next-generation VPx" codec, which turned out to be VP9. In return, MPEG LA dropped their plans to form a VP8 patent pool. Nokia, which was a member of the MPEG LA H.264 patent pool, but didn’t sign the aforementioned agreement, later sued Android licensor HTC, claiming that VP8, as used in the Android operating system, infringed on one or more of its video compression-related patents.
At the time, Florian Mueller, owner of the authoritative Foss Patents blog, stated that the royalty picture for VP8 is far from clear. In an email Mueller wrote, "Claims that VP8 is now free from per-unit or per-implementer license fees are grossly exaggerated. There are simply too many video technology patents out there, and the backers of WebM/VP8 are primarily companies whose own patent portfolios are too weak to resolve patent infringement issues through royalty-free cross-licensing." Nokia ultimately lost the suit, and in April 2016, Mueller commented that, "At this stage I'm not aware of any pending lawsuit over VP9."
Alliance for Open Media
On September 1, 2015, the Alliance for Open Media announced its formation, consolidating the efforts of open source codec developers Google, Mozilla, Cisco, Microsoft, and Intel into one codec, AV1, which is expected to ship by the end of March 2017. As with VP8 and VP9, the AV1 codec will be completely royalty- and disclosure-free. The AV1 codec is largely based upon VP10, and Google has stated that they will not deploy VP10 internally or release it publicly, making VP9 the last of the VPX-based codecs to be released by Google.
A conference question asks when it makes economic sense for a video provider to add a VP9 transcode? We scoped out the variables and did the math.
Publishers and encoding companies alike are beginning to embrace VP9, Google's open source codec. Here's how it stacks up on quality and data rates.
Scheduled to be the first codec released by the Alliance for Open Media, AV1 is positioned to replace VP9 and compete with HEVC. While we don't know many details yet, the backing of the Alliance should give AV1 a significant competitive advantage.
Once counted out, VP9 is on the rise, with support from Netflix, JW Player, Brightcove, and more. In this interview, David Ronca of Netflix talks about VP9 savings, encoding, and testing.
Our panel dives into major codec and format questions, helping you decipher which technologies are here to stay and which should be forgotten.
While it's fun to be on the cutting-edge of new video codecs and formats, H.264 should be every publishers' primary focus for the time being.
Which delivers better quality, encoding time, and CPU performance—HEVC or VP9? We put them to the test to decide once and for all.
HEVC might be getting all the attention, but Google's VP9 appears to match H.265 in quality and might play a bigger role in the transition from Flash to HTML5
At this year's CES, some TV vendors asserted that HEVC was done for and VP9 would win out. What's happened with VP9 since then?
YouTube demonstrating 4K video encoded with VP9 is all sizzle and no steak. Until hardware manufacturers and big names like Apple, Adobe, and Microsoft announce support, it's hard to take any of the noise too seriously.
Google plans to release the VP9 codec in less than a month. While it sounds promising, deep-pocketed companies will want to hold off on adoption.
Companies and Suppliers Mentioned