VP8is anopenandroyalty-freevideo compression formatreleased byOn2 Technologiesin 2008.
Internet media type | video/VP8 |
---|---|
Developed by | On2 Technologies,Google |
Initial release | September 13, 2008 |
Type of format | Video coding format |
Contained by | WebM,Matroska |
Extended from | VP7 |
Extended to | VP9 |
Standard | RFC6386 |
Open format? | Yes (specification underCC-by)[1] |
Free format? | See§ History |
Initially released as aproprietarysuccessor to On2's previousVP7format, VP8 was released as an open and royalty-free format in May 2010 after Google acquired On2 Technologies. Google provided an irrevocable patent promise on itspatentsfor implementing the VP8 format, and released a specification of the format under theCreative Commons Attribution 3.0 license.[1]That same year, Google also releasedlibvpx,thereference implementationof VP8, under the revisedBSD license.[2]
Opera,Firefox,Chrome,Pale Moon,andChromiumsupport playing VP8 video inHTML videotag.[3]Internet Explorerofficially supports VP8 if the user has theDirectShowfilter installed.[4][5] According to Google, VP8 is mainly used in connection withWebRTCand as a format for short looped animations, as a replacement for theGraphics Interchange Format(GIF).[6]
VP8 can be multiplexed into theMatroska-based container formatWebMalong withVorbisandOpusaudio. The image formatWebPis based on VP8's intra-frame coding. VP8's direct successor,VP9,and the royalty-freeAV1codec from theAlliance for Open Mediaare based on VP8.[7]
Features
editVP8 only supportsprogressive scanvideo signals with 4:2:0chroma subsamplingand 8 bits persample. In its first public version, On2's VP8 implementation supportsmulti-core processorswith up to 64 cores simultaneously. At least in the implementation (from August 2011), VP8 is comparatively badly adapted to high resolutions (HD). With only three reference frame buffers needed, VP8 enables decoder implementations with a relatively smallmemory footprint. The format features a pure intra mode, i.e. using only independently coded frames without temporal prediction, to enable random access in applications like video editing.
Technology
editVP8 is a traditional block-basedtransformcoding format. It has much in common withH.264,e.g. some prediction modes.[8]At the time of first presentation of VP8, according to On2 the in-loop filter[9]and the Golden Frames[10]were among the novelties of this iteration. The first definition of such a filter is already found in theH.263standard, though, and Golden Frames were already in use in VP5[11]and VP7.[12]
Thediscrete cosine transform(DCT) on 4×4 blocks and theWalsh–Hadamard transform(WHT) serve as basic frequency transforms. A maximum of three frames can be referenced for temporal prediction: the last Golden Frame (may be an intra frame), alternate reference frame, and the directly preceding frame. The so-called alternate reference frames (altref) can serve as reference-only frames for displaying them can be deactivated. In this case, the encoder can fill them with arbitrary useful image data, even from future frames, and thereby serve the same purpose as the b-frames of the MPEG formats.[13] Similar macroblocks can be assigned to one of up to four (even spatially disjoint) segments and thereby share parameters like the reference frame used, quantizer step size, or filter settings. VP8 offers two different adjustabledeblocking filtersthat are integrated into the codec loops (in-loop filtering). Many coding tools use probabilities that are calculated continuously from recent context, starting at each intra frames. Macro blocks can comprise 4×4, 8×8, or 16×16 samples. Motion vectors have quarter-pixel precision.
History
editVP8 was first released by On2 Technologies on September 13, 2008, as On2 TrueMotion VP8, replacing its predecessor,VP7.[14][15]
AfterGoogleacquired On2 in February 2010,[16] calls for Google to release the VP8 source code were made. Most notably, theFree Software Foundationissued anopen letteron March 12, 2010, asking Google to gradually replace the usage ofAdobe Flash PlayerandH.264onYouTubewith a mixture ofHTML5and a freed VP8.[17]
Word of an impending open-source release announcement got out on April 12, 2010.[18]On May 19, at itsGoogle I/Oconference, Google released the VP8 codec software under aBSD-like license and the VP8bitstream formatspecification under an irrevocable free patent license.[19][20][21]This made VP8 the second product from On2 Technologies to be opened, following their donation of theVP3codec in 2002 to theXiph.Org Foundation,[22]from which they derived theTheoracodec.
In February 2011,MPEG LAinvited patent holders to identify patents that may be essential to VP8 in order to form a joint VP8patent pool.As a result, in March theUnited States Department of Justice(DoJ) started an investigation into MPEG LA for its role in possibly attempting to stifle competition.[23][24] In July 2011, MPEG LA announced that 12 patent holders had responded to its call to form a VP8patent pool,without revealing the patents in question,[25]and despiteOn2having gone to great lengths to avoid such patents.[26]
In November 2011, theInternet Engineering Task Forcepublished the informational RFC 6386, VP8 Data Format and Decoding Guide.
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 orVP9.[27][28]This deal has cleared the way for possibleMPEGstandardisation as its royalty-free internet video codec, after Google submitted VP8 to the MPEG committee in January 2013.[29]
In March 2013,Nokiaasserted a patent claim againstHTCand Google for the use of VP8 in Android in a German court;[30]however, on August 5, 2013, the webm project announced that the German court has ruled that VP8 does not infringe Nokia's patent.[31]
Nokia has made an official intellectual property rights (IPR) declaration to the IETF with respect to the VP8 Data Format and Decoding Guide listing 64 granted patents and 22 pending patent applications.[32]
Implementations
editlibvpx
editThereference implementationof a VP8 (and VP9) codec is found in theprogramming librarylibvpx which is released asfree software. It has a mode for one-pass andtwo-pass encoding,respectively, while the one-pass mode is known as being broken and not offering effective control over the target bitrate.[33][failed verification][34][failed verification]
Currently, libvpx is primary software library capable of encoding VP8 video streams,[35]but at least one independent implementation exists inffvp8enc.
Encoding
editAVideo for Windowswrapper of the VP8 codec based on the Google VP8 library (FourCC:VP80) is available.[36]
The WebM Project hardware team inFinlandreleased anRTLhardware encoder for VP8 that is available at no cost for semiconductor manufacturers.[37][38]
TheNvidiaTegramobile chipsets have full VP8 hardware encoding and decoding (sinceTegra 4).[39]
Nexus 5could use hardware encoding[40]
Decoding
editlibvpx is capable of decoding VP8 video streams.[41]
On July 23, 2010, Fiona Glaser, Ronald Bultje, and David Conrad of theFFmpegTeam announced the ffvp8 decoder. Through testing, they determined that ffvp8 was faster than Google's own libvpx decoder.[42]The WebM Project hardware team released anRTLhardware decoder for VP8, that is releasable to semiconductor companies at zero cost.[38][43]TATVIK Technologies announced a VP8 decoder that is optimized for theARM Cortex-A8processor.[44]Marvell's ARMADA 1500-mini chipset has VP8 SD and HD hardware decoding support (used inChromecast).[45]Intelhas full VP8 decoding support built into theirBay Trail chipsets.[46] Intel Broadwellalso adds VP8 hardware decoding support.[47]
Operating system support
editMicrosoft Windows | macOS | BSD/Linux | Android OS | iOS | |
---|---|---|---|---|---|
Codec support | Yes | Yes | Yes | Yes | Yes |
Container support | On Windows 10 Anniversary Update (1607): WebM(.webm is not recognised; requires pseudo extension) Matroska(.mkv) On Windows 10 October 2018 Update (1809): WebM(.webm is recognised officially) |
WebM(.webm) - Introduced in macOS 11.3 |
WebM(.webm) Matroska(.mkv) |
WebM(.webm) Matroska(.mkv) |
WebM(.webm) - Introduced in iOS 17.4 |
Notes | OnWindows 10: - OnAnniversary Update(1607), limited support is available inMicrosoft Edge(viaMSEonly) andUniversal Windows Platformapps. - OnApril 2018 Update(1803) withWeb Media Extensionspreinstalled, Microsoft Edge (EdgeHTML 17) supports VP8 videos embedded in <video> tags. - OnOctober 2018 Update(1809),VP9 Video Extensionsis preinstalled. It enables encoding of VP8 and VP9 content on devices that don't have a hardware-based video encoder.[48] |
- | - Support introduced in Android 2.3.3+ - Streamable in Android 4.0+ |
Related formats
editWebM
editAlso on May 19, 2010, theWebMProject was launched, featuring contributions from "Mozilla,[49]Opera,[50][51]Google[52]and more than forty other publishers, software and hardware vendors "in a major effort to use VP8 as the video format for HTML5.[53]In the WebMcontainer format,the VP8 video is used withVorbisorOpusaudio.[54][55]Internet Explorer 9 will support VP8 video playback if the proper codec is installed.[5]Androidis WebM-enabled from version 2.3 - Gingerbread.[56]Since Android 4.0, VP8 could be read inside mkv[57]and WebM could be streamed.[58]Adobealso announced that theFlash Playerwill support VP8 playback in a future release.[59]
WebP
editOn September 30, 2010, Google announcedWebP,their new image format, on theChromiumblog.[60] WebP is based on VP8's intra-frame coding and uses a container based onResource Interchange File Format(RIFF).
Comparison with H.264
editWhileH.264/MPEG-4 AVCcontains patented technology and requires licenses from patent holders and limited royalties for hardware, Google has irrevocably released the VP8 patents it owns under a royalty-free public license.[19][61]
According to a comparison of VP8 (encoded with the initial release of libvpx) andH.264conducted 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."[62]
Google claims that VP8 offers the "highest quality real-time video delivery"[63]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 bystreamingmedia.comin May 2010 concluded thatH.264offers slightly better quality than VP8.[64]
In September 2010 Fiona Glaser, a developer of thex264encoder, 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.[65]In its specification, VP8 should be a bit better than H.264 Baseline Profile and Microsoft'sVC-1. Encoding is somewhere betweenXvidand VC-1. Decoding is slower thanFFmpeg's H.264, but this aspect can hardly be improved due to the similarities to H.264. Compression-wise, VP8 offers better performance thanTheoraandDirac.According to Glaser, the VP8 interface lacks features and is buggy, and the specification is not fully defined and could be considered incomplete. Much of the VP8 code is copy-pastedCcode,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 2010, it was announced that theWebMaudio/video format would be based on aprofileof theMatroskacontainer format together with VP8 video andVorbisaudio.[55]
See also
editReferences
edit- ^ab"VP8 Bitstream Specification License".WebM Project.Retrieved30 January2012.
- ^"Changes to the WebM Open Source License".Retrieved2010-06-04.
- ^"Nokia lines up patents against VP8 video codec".Archived fromthe originalon 28 May 2013.Retrieved2013-03-25.
- ^kragil (2010-05-19)."Microsoft: Internet Explorer 9 To Support VP8 – OSnews".www.osnews.com.Retrieved2022-10-22.
- ^abDean Hachamovitch (Microsoft) on March 16, 2011 on IEBlog:HTML5 Video Update—WebM for IE9
- ^Alex Converse (Google), September 19, 2015:New video compression techniques under consideration for VP10– presentation at the VideoLAN Dev Days 2015 in Paris
- ^Zimmerman, Steven (15 May 2017)."Google's Royalty-Free Answer to HEVC: A Look at AV1 and the Future of Video Codecs".XDA Developers. Archived fromthe originalon 14 June 2017.Retrieved10 June2017.
- ^"On2 VP8 - MultimediaWiki".wiki.multimedia.cx.
- ^"Loop Filter".Archived fromthe originalon September 18, 2008.RetrievedFebruary 22,2010.
- ^"Golden Frames".Archived fromthe originalon October 22, 2008.RetrievedFebruary 22,2010.
- ^description of VP5on MultimediaWiki
- ^"On2's TrueMotion VP7 Video Codec".July 11, 2008. Archived fromthe originalon March 23, 2010.RetrievedMay 29,2010.
- ^Yaowu Xu, 27. Mai 2010:Inside WebM Technology: The VP8 Alternate Reference Frame
- ^Glen Dickson (2008-09-16)."IBC2008: On2 Touts New Codec for Web Video".Broadcasting & Cable.Retrieved2009-09-11.
- ^"On2 Technologies Unveils New Advanced Video Compression Format".Digital TV News. 2008-09-13.Retrieved2012-01-30.
- ^"Google Closes On2 Technologies Acquisition"(Press release). Mountain View, California, USA: Google Inc. 2010-02-19.Retrieved2013-03-22.
- ^Wilson, Holmes (2010-03-12)."Open letter to Google: free VP8, and use it on YouTube".Free Software Foundation.
- ^Lawler, Ryan (2010-04-12)."Google to Open-source VP8 for HTML5 Video".NewTeeVee.com.Archived fromthe originalon 2010-04-16.
- ^ab"Additional IP Rights Grant (Patents)".Retrieved2010-06-04.
- ^"The WebM Project - Licenses".www.webmproject.org.
- ^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
- ^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.Retrieved8 March2011.
- ^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 – updated,carlodaffara.conecta.it
- ^"Google and MPEG LA make a deal over VP8 codec - Update".The H. Archived fromthe originalon 8 December 2013.Retrieved10 March2013.
- ^"Google and MPEG LA Announce Agreement Covering VP8 Video Format"(PDF).7 March 2013. Archived fromthe original(PDF)on 5 March 2016.Retrieved10 March2013.
- ^"VP8 could become MPEG standard".The H. Archived fromthe originalon 8 December 2013.Retrieved10 March2013.
- ^"Patent clouds remain over VP8: Google points to FRAND option, Nokia alleges infringement in court".2013-03-08.
- ^"Good News from Germany".2013-08-05.Retrieved2013-08-19.
- ^"Setback for Google's VP8: Nokia refuses to commit patents to royalty-free or FRAND licensing".www.fosspatents.com.
- ^Grois, Dan; Marpe, Detlev; Nguyen, Tung; Hadar, Ofer (2014), Tescher, Andrew G (ed.),"Comparative assessment of H.265/MPEG-HEVC, VP9, and H.264/MPEG-AVC encoders for low-delay video applications",Proceedings of SPIE – Applications of Digital Image Processing XXXVII,Applications of Digital Image Processing XXXVII (in German), vol. 9217, San Diego, California, pp. 92170Q,Bibcode:2014SPIE.9217E..0QG,doi:10.1117/12.2073323,S2CID16598590
- ^Jan Ozer, June 2016:VP9 Finally Comes of Age, But Is it Right for Everyone?
- ^WebM VP8 Encoder [VP8 SDK],The WebM Project
- ^"Google VP8 Video For Windows codec".Optima SC Inc.Retrieved2 September2011.
- ^Introducing "Anthill," the First VP8 Hardware Encoder IP Release,WebM Project
- ^abWebM Video Hardware RTLs,WebM Project
- ^NVIDIA Tegra 4 Family GPU Architecture(PDF)
- ^"Sign in - Google Accounts".accounts.google.com.
- ^VP8 SDK - WebM VP8 Decoder,WebM Project
- ^Glaser, Fiona (2010-07-23),Diary Of An x264 Developer: Announcing the world's fastest VP8 decoder,archived fromthe originalon 2010-09-30,retrieved2012-01-04
- ^Availability of WebM (VP8) Video Hardware IP Designs,WebM Project
- ^Tatvik Announces High Performance VP8 Video Decoder Optimized For Cortex-A8 Using ARM NEON Technology,tatvik.com, 2011-03-09
- ^"Marvell flaunts its Armada 1500-mini CPU powering Chromecast, lists codecs".31 July 2013.
- ^Lal Shimpi, Anand; Klug, Brian."The Bay Trail Preview: Intel Atom Z3770 Tested".
- ^"VA-API 1.3 Readies Broadwell Support, Adds VP8 Decoding - Phoronix".www.phoronix.com.
- ^"HTML5 + <audio> & <video>".alltomwindows.se(in Swedish). 11 June 2010.
- ^Blizzard, Christopher (2010-05-19),Firefox, YouTube and WebM,Mozilla
- ^Lie, Håkon Wium (2010-05-19),Welcome, WebM <video>!,Opera, archived fromthe originalon 2011-03-21,retrieved2014-10-30
- ^Mills, Chris (2010-05-19),Opera supports the WebM video format,Opera
- ^Bankoski, Jim (2010-05-19),WebM and VP8 land in Chromium
- ^"WebM Code - Build Prerequisites".Retrieved2010-06-02.
- ^Xiph.Org (2010-05-19)."Xiph.Org announces support for the WebM open media project".Retrieved2010-05-20.
- ^abWebM Project (2015-09-01)."WebM FAQ".Retrieved2016-08-07.
- ^"The platform now offers built-in support for the VP8 open video compression format and the WebM open container format".Android Developers. Archived fromthe originalon 27 January 2012.Retrieved16 January2011.
- ^"Ice Cream Sandwich - Android Developers".Android Developers.
- ^"Supported media formats - Android Developers".Android Developers.
- ^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.Retrieved2010-10-01.
- ^Metz, Cade (20 May 2010),Google backs open codec against patent trolls,The Register
- ^Ozer, Jan (2010)."VP8 vs. H.264"(PDF).streamingmedia.com.Retrieved2011-03-08.
- ^"Benefits of WebM".Retrieved2011-02-13.
- ^"First Look: H.264 and VP8 Compared".streamingmedia.com. 20 May 2010.Retrieved2011-02-13.
- ^Glaser, Fiona (2010-07-13)."First Look: H.264 and VP8 Compared".Diary Of An x264 Developer. Archived fromthe originalon 2015-03-01.Retrieved2013-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.
Further reading
edit- Daniel Wolf, RWTH Aachen (ed.),WebM / VP8(PDF)(in German), Aachen
- Cassidy, Sean A. (2011-11-01).An Analysis of VP8, a new video codec for the web(M.S.). Rochester Institute of Technology.OCLC768998565.Retrieved2016-08-07.
- Feller, Christian; Wuenschmann, Juergen; Roll, Thorsten; Rothermel, Albrecht (2016-09-06). "The VP8 video codec - overview and comparison to H.264/AVC". Written atUniversity of Ulm.2011 IEEE International Conference on Consumer Electronics.Berlin:IEEE.pp. 57–61.doi:10.1109/ICCE-Berlin.2011.6031852.ISBN978-1-4577-0233-4.ISSN2166-6814.OCLC759377866.S2CID37800094.
External links
edit- RFC 6386: VP8 Data Format and Decoding Guide(specification)
- RFC 6386: VP8 Data Format and Decoding Guide(November 2011)
- The WebM Project
- Technical Overview Of VP8, An Open Source Video CODEC for the Web– Paper written by Google developers.
- Fiona Glaser's technical analysisof VP8 esp. as compared to H.264.
- The VP8 video codec: High compression+low complexity
- Diary Of An x264 Developer: Announcing the world's fastest VP8 decoder