VP8
Internet media type | video/VP8 |
---|---|
Developed by | |
Initial release | September 13, 2008 |
Type of format | Compressed video |
Contained by | WebM, Matroska |
Extended from | VP7 |
Extended to | VP9 |
Standard | RFC6386 |
Developer(s) | |
---|---|
Initial release | May 18, 2010 |
Stable release | 1.1.0
/ May 11, 2012 |
Written in | C |
Operating system | Unix-like (including GNU/Linux, Mac OS X), Windows |
Type | Video codec |
License | New BSD license[5] |
Website | webmproject.org |
VP8 is a video compression format owned by Google and created by On2 Technologies as a successor to VP7.
In May 2010, after the purchase of On2 Technologies, Google provided an irrevocable patent promise on its patents for implementing the VP8 format, and released a specification of the format under the Creative Commons Attribution 3.0 license.[6] That same year, Google also released libvpx, the reference implementation of VP8, under a BSD license.[7]
VP8 is currently supported by Opera, Firefox and Chrome.[8]
History
VP8 was first released by On2 Technologies on September 13, 2008, replacing its predecessor, VP7.[9][10]
After Google acquired On2 in February 2010,[11] calls for Google to release the VP8 source code were made. Most notably, the Free Software Foundation issued an open letter on March 12, 2010, asking Google to gradually replace the usage of Adobe Flash Player and H.264 on YouTube with a mixture of HTML5 and a freed VP8.[12]
On May 19, 2010, at its Google I/O conference, Google released the VP8 codec software under a BSD-like license and the VP8 bitstream format specification under an irrevocable free patent license.[13][14][15] This made VP8 the second product from On2 Technologies to be opened, following their donation of the VP3 codec in 2002 to the Xiph.Org Foundation,[16] from which they derived the Theora codec. In June 2010, Google amended the VP8 codec software license to the 3-clause BSD license[5][7][17] after some contention over whether the original license was actually open source.[18][19][20]
In February 2011, MPEG LA invited patent holders to identify patents that may be essential to VP8 in order to form a joint VP8 patent pool. As a result, in March the United States Department of Justice (DoJ) started an investigation into MPEG LA for its role in possibly attempting to stifle competition.[21][22] In July 2011, MPEG LA announced that 12 patent holders had responded to its call to form a VP8 patent pool, without revealing the patents in question,[23] and despite On2 having gone to great lengths to avoid such patents.[24]
In November 2011, the Internet Engineering Task Force published the informational RFC 6386, VP8 Data Format and Decoding Guide.[25]
In March 2013, MPEG LA announced that it had dropped its effort to form a VP8 patent pool after reaching an agreement with Google to license the patents that it alleges "may be essential" for VP8 implementation, and granted Google the right to sub-license these patents to any third-party user of VP8 or VP9.[26][27] This deal has cleared the way for possible MPEG standardisation as its royalty-free internet video codec, after Google submitted VP8 to the MPEG committee in January 2013.[28]
Since March 2013, Nokia has asserted a patent claim against HTC and Google for the use of VP8 in Android in a German court.[29]
Implementations
Encoding
Currently, libvpx is the only software library capable of encoding VP8 video streams.[30] An encoder based on the x264 framework called xvp8 is under development by the x264 team.[31] The WebM Project hardware team in Finland released an RTL hardware encoder for VP8 that is available at no cost for semiconductor manufacturers.[32][33]
In a comparison done in May 2011, the libvpx encoder was found to be slow compared to common H.264 encoders and used up to 213% more data for the same quality video, when used in videoconferencing applications.[34]
A Video for Windows wrapper of the VP8 codec based on the Google VP8 library (FourCC: VP80) is available.[35]
The Nvidia Tegra 4 mobile chipset has full VP8 hardware encoding and decoding.[36]
Decoding
libvpx is capable of decoding VP8 video streams.[37] On July 23, 2010, Jason Garrett-Glaser, Ronald Bultje, and David Conrad of the FFmpeg Team announced the ffvp8 decoder. Through testing they determined that ffvp8 was faster than Google's own libvpx decoder.[38] The WebM Project hardware team released an RTL hardware decoder for VP8, that is releasable to semiconductor companies at zero cost.[39][40] TATVIK Technologies announced a VP8 decoder that is optimized for the ARM Cortex-A8 processor.[41]
Related formats
WebM
Also on May 19, 2010, the WebM Project was launched, featuring contributions from "Mozilla,[42] Opera,[43][44] Google[45] and more than forty other publishers, software and hardware vendors" in a major effort to use VP8 as the video format for HTML5.[46] In the WebM container format, the VP8 video is used with Vorbis audio.[47][48] Internet Explorer 9 will support VP8 video playback if the proper codec is installed.[49] Android is WebM-enabled from version 2.3 - Gingerbread.[50] Since Android 4.0, VP8 could be read inside mkv[51] and WebM could be streamed.[52] Adobe also announced that the Flash Player will support VP8 playback in a future release.[53]
WebP
On September 30, 2010 Google announced WebP, their new image format, on the Chromium blog.[54] WebP is based on VP8's intra-frame coding and uses a container based on Resource Interchange File Format (RIFF).
Comparison with H.264
While H.264/MPEG-4 AVC contains patented technology and requires licenses from patent holders and limited royalties for hardware, Google has irrevocably released all of the VP8 patents it owns under a royalty-free public license.[55][56]
According to a comparison of VP8 (encoded with the initial release of libvpx) and H.264 conducted by StreamingMedia, it was concluded that "H.264 may have a slight quality advantage, but it's not commercially relevant" and that "Even watching side-by-side (which no viewer ever does), very few viewers could tell the difference". They also stated that "H.264 has an implementation advantage, not a technology advantage."[57]
Google's claims that VP8 offers the "highest quality real-time video delivery"[58] and Libvpx includes a mode where the maximum CPU resources possible will be used while still keeping the encoding speed almost exactly equivalent to the playback speed (realtime), keeping the quality as high as possible without lag. On the other hand a review conducted by streamingmedia.com in May 2010 concluded that H.264 offers slightly better quality than VP8.[59]
In September 2010 Jason Garrett-Glaser, a developer of the x264 encoder, gave several points of criticism for VP8, claiming that its specification was incomplete, and the performance of the encoder's deblocking filter was inferior to x264 in some areas.[60] In its specification, VP8 should be a bit better than H.264 Baseline Profile and Microsoft's VC-1. Encoding is somewhere between Xvid and VC-1. Decoding is slower than FFmpeg’s H.264, but this aspect can hardly be improved due to the similarities to H.264. Compression-wise, VP8 offers better performance than Theora and Dirac. According to Garrett-Glaser, the VP8 interface lacks features and is buggy, and the specification is not fully defined and could be considered incomplete. Much of the VP-8 code is copy-pasted C code, and since the source constitutes the actual specification, any bugs will also be defined as something that has to be implemented to be in compliance.
In the end, Google chose Matroska and Vorbis for its HTML5 proposal.
With regard to patent issues, VP8 allegedly copied too much from H.264 for comfort and courts:[61]
VP8 is simply way too similar to H.264: a pithy, if slightly inaccurate, description of VP8 would be “H.264 Baseline Profile with a better entropy coder”. Even VC-1 differed more from H.264 than VP8 does, and even VC-1 didn’t manage to escape the clutches of software patents. It’s quite possible that VP8 has no patent issues, but until we get some hard evidence that VP8 is safe, I would be cautious. Since Google is not indemnifying users of VP8 from patent lawsuits, this is even more of a potential problem. Most importantly, Google has not released any justifications for why the various parts of VP8 do not violate patents […]
See also
References
- ^ "VP8 Bitstream Specification License". WebM Project. Retrieved 30 January 2012.
- ^ "WebM Code - Build Prerequisites". Retrieved 2010-06-02.
- ^ "WebM Downloads". Retrieved 2010-11-01.
- ^ "WebM Code > Repository Layout". Retrieved 2010-06-02.
- ^ a b "Software License". Retrieved 2010-06-04.
- ^ VP8 Bitstream Specification License
- ^ a b "Changes to the WebM Open Source License". Retrieved 2010-06-04. Cite error: The named reference "changes-to-webm-open-source-license" was defined multiple times with different content (see the help page).
- ^ "Nokia lines up patents against VP8 video codec". Retrieved 2013-25-03.
{{cite web}}
: Check date values in:|accessdate=
(help) - ^ Glen Dickson (2008-09-16). "IBC2008: On2 Touts New Codec for Web Video". Broadcasting & Cable. Retrieved 2009-09-11.
- ^ On2 Technologies (2008-09-13). "On2 Technologies Unveils New Advanced Video Compression Format". Digital TV. Retrieved 2012-01-30.
{{cite web}}
: CS1 maint: numeric names: authors list (link) - ^ "Google Closes On2 Technologies Acquisition" (Press release). Mountain View, California, USA: Google Inc. 2010-02-19. Retrieved 2013-03-22.
- ^ Wilson, Holmes (2010-03-12). "Open letter to Google: free VP8, and use it on YouTube". Free Software Foundation.
- ^ "Additional IP Rights Grant (Patents)". Retrieved 2010-06-04.
- ^ http://www.webmproject.org/license/
- ^ Parr, Ben (2010-05-19), Google Makes Major Announcements at Google I/O, mashable.com
- ^ The Free Library (2002-08-01) On2 Signs Pact With Xiph.org to Develop/Support VP3, Retrieved on 2009-08-16
- ^ Koleszar, John (2010-06-04). "LICENSE: update with latest text". WebM VCS repository.
- ^ Kerner, Sean Michael (2010-05-25), Is VP8 open source?, InternetNews
- ^ Metz, Cade (2010-05-24), Google open codec 'not open,' says OSI man, The Register
- ^ Phipps, Simon (2010-05-24), WebM: Missing The Assurances Open Source Needs?, ComputerworldUK
- ^ Catan, Thomas (4 March 2011), Web Video Rivalry Sparks U.S. Probe, The Wall Street Journal
- ^ Cheng, Jacqui (4 March 2011). "Report: DoJ looking into possible anti-WebM moves by MPEG LA". Ars Technica. Condé Nast Digital. Retrieved 8 March 2011.
- ^ Jan Ozer (2011-07-26). "WebM Patent Fight Ahead for Google?". StreamingMedia.com.
- ^ Daffara, Carlo (25 May 2010), An analysis of WebM and its patent risk, carlodaffara.conecta.it
- ^ "RFC 6386". Internet Engineering Task Force. 2011-11-01. Retrieved 29 January 2012.
- ^ "Google and MPEG LA make a deal over VP8 codec - Update". The H. Retrieved 10 March 2013.
- ^ "Google and MPEG LA Announce Agreement Covering VP8 Video Format" (PDF). 7 March 2013.
- ^ "VP8 could become MPEG standard". The H. Retrieved 10 March 2013.
- ^ "Patent clouds remain over VP8: Google points to FRAND option, Nokia alleges infringement in court". 2013-03-08.
- ^ VP8 SDK - WebM VP8 Encoder, WebM Project
- ^ xvp8 at GitHub
- ^ Introducing "Anthill," the First VP8 Hardware Encoder IP Release, WebM Project
- ^ WebM Video Hardware RTLs - WebM Video Encoder Hardware IP, WebM Project
- ^ "Seventh MPEG-4 AVC/H.264 Video Codecs Comparison - Standard Version" (PDF). MSU Graphics & Media Lab (Video Group). May 2011.
- ^ "Google VP8 Video For Windows codec". Optima SC Inc. Retrieved 2 September 2011.
- ^ http://www.nvidia.com/docs/IO/116757/Tegra_4_GPU_Whitepaper_FINALv2.pdf
- ^ VP8 SDK - WebM VP8 Decoder, WebM Project
- ^ Garrett-Glaser, Jason (2010-07-23), Diary Of An x264 Developer: Announcing the world's fastest VP8 decoder
- ^ Availability of WebM (VP8) Video Hardware IP Designs, WebM Project
- ^ WebM Video Hardware RTLs - WebM Video Decoder Hardware IP, WebM Project
- ^ Tatvik Announces High Performance VP8 Video Decoder Optimized For Cortex-A8 Using ARM NEON Technology, tatvik.com, 2011-03-09
- ^ Blizzard, Christopher (2010-05-19), Firefox, YouTube and WebM, Mozilla
- ^ Lie, Håkon Wium (2010-05-19), Welcome, WebM <video>!, Opera
- ^ Mills, Chris (2010-05-19), Opera supports the WebM video format, Opera
- ^ Bankoski, Jim (2010-05-19), WebM and VP8 land in Chromium, Google
- ^ Build Prerequisites, WebM Project
- ^ Xiph.Org (2010-05-19). "Xiph.Org announces support for the WebM open media project". Retrieved 2010-05-20.
- ^ WebM Project (2010-05-19). "WebM FAQ". Retrieved 2010-05-20.
- ^ Hachamovitch, Dean (2010-05-19). "Another Follow-up on HTML5 Video in IE9". Microsoft Developer Network. Microsoft. Retrieved 10 December 2010.
- ^ "The platform now offers built-in support for the VP8 open video compression format and the WebM open container format". Android Developers. Retrieved 16 January 2011.
{{cite web}}
: Italic or bold markup not allowed in:|publisher=
(help) - ^ https://developer.android.com/about/versions/android-4.0-highlights.html#DeveloperApis
- ^ https://developer.android.com/guide/appendix/media-formats.html
- ^ Perkins, Michelle (2010-05-19), Flash Player Will Support VP8, Adobe
- ^ Rabbat, Richard (2010-09-30). "WebP, a new image format for the Web". Chromium Blog. Google. Retrieved 2010-10-01.
- ^ Metz, Cade (20 May 2010), Google backs open codec against patent trolls, The Register
- ^ Google. "Additional IP Rights Grant (Patents)". Google.
{{cite web}}
:|author=
has generic name (help) - ^ Ozer, Jan (2010). "VP8 vs. H.264" (PDF). streamingmedia.com. Retrieved 2011-03-08.
- ^ "Benefits of WebM". Google. Retrieved 2011-02-13.
- ^ "First Look: H.264 and VP8 Compared". streamingmedia.com. Retrieved 2011-02-13.
- ^ Garrett-Glaser, Jason (2010-07-13). "First Look: H.264 and VP8 Compared". Diary Of An x264 Developer. Retrieved 2013-07-01.
I expect a spec will eventually be written, but it was a bit obnoxious of Google — both to the community and to their own developers — to release so early that they didn't even have their own documentation ready.
- ^ Garrett-Glaser, Jason (2010-05-19). "The first in-depth technical analysis of VP8". Diary Of An x264 Developer. Retrieved 2013-07-01.
External links
- VP8 Bitstream Guide (specification)
- The WebM Project
- Technical Overview Of VP8, An Open Source Video CODEC for the Web - Paper written by Google developers.
- In Depth Analysis of VP8 and WebM by an x264 developer
- The VP8 video codec: High compression+low complexity
- Diary Of An x264 Developer: Announcing the world’s fastest VP8 decoder