VP9
VP9 | |
---|---|
File extension : |
webm
|
Developed by: | Google Inc. |
Initial release: | December 13, 2012 |
Type: | lossy video |
Contained in: | WebM , IVF |
Extended by: | VP8 |
Expanded to: | AV1 |
Standard (s) : | ( Bitstream Specification ) |
Website : | webmproject.org/vp9 |
VP9 is a royalty-free, open format primarily for lossy compressed video data . After VP8, it is the last official edition of the TrueMotion video format series (VPx) bought by Google and competes with H.265 / HEVC.
VP9 was initially mainly used on Google's video platform YouTube .
VP9 can be saved in WebM files with Opus . Chromium , Chrome , Vivaldi , Firefox and Opera support the VP9 format for HTML5 video.
Parts of the process are patented by Google. The company permanently and irrevocably grants everyone the free use of their own patents in question, as long as they do not sue for patent claims on their part.
features
VP9 is aimed at encoding material in resolutions beyond High Definition Video ( UHD ) and enables almost lossless compression .
There are different variants of the VP9 format, the so-called coding profiles, which allow more and more features from the basic version, profile 0 (binding minimum for hardware implementations), to profile 3:
- Profile 0
- Color depth : 8 bit, color subsampling : 4: 2: 0
- Profile 1
- Color depth: 8 bit, color subsampling: 4: 2: 0, 4: 2: 2, 4: 4: 4, alpha + depth channel
- Profile 2
- Color depth: 10-12 bits, color subsampling: 4: 2: 0
- Profile 3
- Color depth: 10–12 bit, color subsampling: 4: 2: 0, 4: 2: 2, 4: 4: 4, alpha channel
VP9 supports the Rec. 601 , Rec. 709 , Rec. 2020 , SMPTE-170 , SMPTE-240 and sRGB color spaces .
power
In a subjective quality comparison carried out in 2014 with the reference encoders for HEVC (HM 15.0), MPEG-4 AVC / H.264 (JM 18.6) and VP9 (libvpx 1.2.0 with preliminary VP9 support), VP9 required approximately twice as much, similar to H.264 so much bit rate for video quality comparable to HEVC, with VP9 performing similar to HEVC for synthetic image material. In contrast, another subjective quality comparison from 2014 in higher quality areas for VP9 and HEVC showed a comparable saving of 40 to 45% compared to H.264.
According to algorithmic evaluation using SSIM , VP9 with libvpx achieved a 50% improvement in bit rate efficiency with 10 to 20 times longer coding time in a test in September 2015 compared to the best H.264 coder x264 . With any same coding speed, 20 to 30% better efficiency was achieved. Other tests show coding speed comparable to x264 when parallelization of execution is forced. According to the objective metric VQM , the VP9 reference encoder delivered the same video quality as the best HEVC implementations in early 2015 and usually encoded faster.
The computational effort for decoding is in practice a little over 20 percent higher than with H.264 with libvpx, while the proprietary Ittiam decoder shows a 30 percent lower CPU load than libvpx. With the newer ffvp9 decoder, comparable or faster decoding than with H.264 (ffh264) and 25 to 50% faster decoding than with libvpx should be achieved.
technology
VP9 is a classic block-based transformation method. The bit stream format is relatively simple compared to similar bit rate efficient formats like HEVC.
As the biggest format improvement compared to the direct predecessor format VP8, transformation blocks for prediction can now be combined into larger macroblocks of up to 64 × 64 pixels. This is especially useful for high-definition videos. Furthermore, the prediction of motion vectors has been improved. New coding tools also include:
- more modes for intra prediction,
- Eighth pixel accuracy for motion vectors,
- exchangeable 8-tap subpixel interpolation filters,
- improved choice of reference motion vectors,
- improved coding of the offsets of motion vectors compared to the reference,
- improved entropy coding including entropy adaptation to various symbols on the individual image level,
- improved loop filtering adapted to new block sizes,
- the asymmetric discrete sine transformation (ADST),
- larger discrete cosine transforms (DCT, 16 × 16 and 32 × 32) and
- improved breakdown of individual images into image areas with certain uniformities (for example background / foreground).
In order to enable parallel processing of individual images, these can be divided along superblock boundaries in up to 4 rows of 256 to 4096 pixels wide, even tiles, with each column being coded independently. This is mandatory for resolutions above 4096 points image width. The tile header data contain the tile size in bytes so that decoders can skip tiles directly and decode each tile column in a separate execution thread .
The image is further subdivided into coding units of 64 by 64 pixels, called super blocks, which are adaptively subdivided in a quaternary tree structure. They can be divided into either horizontal or vertical or both directions; Square (sub) units can be recursively subdivided up to a block size of 4 to 4 pixels. Sub-units are coded in grid reading order: left to right, top to bottom.
Starting with key frames, decoders hold 8 single frames buffered for use as reference frames or later display. Transmitted individual images indicate which of the buffers should be overwritten with them and can optionally be decoded into one of the buffers without being displayed. The encoder can send minimal single images that only trigger the display of one of the buffer contents (“skip frame”). Each inter-image can reference up to 3 of the buffered individual images for temporal prediction. In a coding block, spatially displaced contents ( movement compensation ) of one or two individual images (composite forecast, with averaging) can be used for the calculation of forecast image data. The (ideally small) remaining difference ( delta coding ) between the calculated prediction and the actual image content is transformed by means of a DCT or ADST (for edge blocks) and quantized.
A B-frame-like structure can be encoded in so-called superframes while maintaining the original sequence of individual images in the bit stream. Hidden alternate reference pictures can be packed together with a normal inter picture and a skip frame, which triggers the display of the contents of the previous hidden altref picture directly after the inter picture.
VP9 enables loss-free coding, in that at the lowest quantization level (q-index 0) a residual signal transformed into 4 × 4 Hadamard (WHT) is transmitted.
In container formats , VP9 streams are marked with the FourCC VP90
(or possibly in the future VP91
, ...) or VP09
. In order to enable random access, VP9 raw data must be encapsulated; either in Google's Matroska -based WebM format (.webm) or the older, minimalist Indeo video file (IVF) format , which is traditionally supported by libvpx.
distribution
Adobe Flash , in which VPx formats were traditionally used up to VP7, was never upgraded to VP8 or VP9, but instead to H.264. For this reason, VP9 often only penetrated the corresponding web video applications with the gradual conversion from Flash to HTML5 technology, which was still immature when the VP9 was launched . Trends towards UHD resolutions, higher color depth and further gamuts are driving the switch to new, specifically designed video formats. The clear support and development perspective provided by the Alliance for Open Media as well as the expensive and confusing licensing situation of HEVC lead us to expect that users of the previously leading MPEG formats will increasingly switch to the license-free alternative formats of the VPx or AVx series instead of upgrading to HEVC change.
VP9 is implemented in the web browser
- Chromium and Google Chrome . (can be used by default from version 29 from May or August 2013),
- Vivaldi
- Mozilla Firefox (from version 28 from March 2014),
- Opera (from version 15 from July 2013).
- Microsoft Edge (since the Anniversary Update from August 2016).
There is no VP9 support in the two browsers Internet Explorer and Apple Safari . Based on StatCounter data, an estimated 65 to 75% of web browsers used on desktop and notebook systems were able to play VP9 videos in HTML5 websites in March 2016.
The format is mainly used on Google's video platform YouTube , where VP9-encoded videos have been delivered on a large scale since 2015.
Android supports VP9 decoding from version 4.4 ("KitKat").
JW Player supports VP9 in its widely used SaaS HTML5 video player.
A number of cloud encoding services (Amazon, Brightcove, castLabs, JW Player, Telestream, Wowza) have been offering VP9 encoding since 2016 .
Implementations
The reference implementation has been in the program library published by Google since June 17, 2013, libvpx
and version 1.3 was officially introduced on December 2, 2013. It is also published as free software in source code under the terms of the modified BSD license . The command line tools vpxenc
and vpxdec
. There is one mode each for coding in a single pass and in two passes , whereby the single pass mode is considered broken and does not offer any useful control over the target bit rate.
The free multimedia conversion tool FFmpeg has had its own decoder since October 2013 ffvp9
, which works 25 to 50% faster than libvpx and comparatively fast (same bit rate) or around 10% faster (same quality) than ffh264.
There is a VP9 decoder optimized by Ittiam , ARM and Google for ARM Cortex-A architectures with ARM Mali GPUs.
Many criticisms of the VP9 were limited to the shortcomings of the reference encoder. In May 2016, Eve ("Efficient Video Encoder") was released, a proprietary alternative encoder that is considered superior.
Since February 2019, Intel has been publicly developing another encoder called SVT-VP9.
Most leading mobile processors have hardware support for VP9 decoding. Hardware acceleration for decoding can be found in chips from AMD ( Polaris P10 / 11 and newer), Allwinner , MediaTek , Nvidia , Qualcomm and Rockchip . Newer chips from ARM, Samsung and Intel ( Kabylake architecture [Q3 2016] and later) also support VP9 encoding.
All AMD GCN GPUs support VP9 decoding via GPU in software and thus relieve the CPU.
history
VP9 is the final official release of the TrueMotion video format series, which Google bought in 2010 for $ 134 million with its manufacturer On2 Technologies . Development of VP9 began in the third quarter of 2011 under the project names VP-Next and Next Gen Open Video (NGOV). Among other things, the aim was to double the bit rate efficiency compared to the predecessor format VP8 (for example halving the bit rate with the same video quality). In the future, the bit rate efficiency of HEVC will also be undercut. A not yet final version of VP9 from the end of 2011 is said to have been 7% worse than HEVC. These improvements should be achieved through more sophisticated prediction and coding techniques.
At the end of 2012, support for VP9 was added to Chromium.
In 2013, a version of the WebM format expanded to include VP9 and Opus support was published.
In March 2013, the MPEG Licensing Administration abandoned an announced assertion of alleged patent claims against VP8 and its successor formats after the United States Department of Justice launched an investigation into possible obstruction of competition.
In June 2013 a fundamental first part of the bit stream format was defined with the coding profile 0 .
In version 1.4.0 ("Indian Runner Duck") from April 3, 2015, support for the color models YUV 4: 2: 2 and 4: 4: 4 as well as for 10 and 12 bit color depth (profiles 1, 2, 3) were added and the codec speeds up.
VP9 was offered as a working basis to a corresponding working group of the Internet Engineering Task Force (IETF), which has been working on a future Internet standard for video compression since 2012.
VP10 (AV1)
VP10 was developed under the direction of Alex Converse. The improvement of the compression performance is named as the primary development goal. For VP10, many new coding means are to be added to VP9, each of which only allows a few percent at most, but overall a significantly higher bit rate efficiency.
On September 12, 2014, Google announced that the development of VP10 had started and that a video standard would be published every 18 months after the VP10 was released. In August 2015, code for VP10 began to be released. In contrast to the development of VP9, the development of VP10 has been public since then. The co-founding of the Alliance for Open Media (AOMedia) by Google, which was announced on September 1, 2015, demonstrated interest in the development of a uniform standard for a new video compression process. However, an announcement of concrete, active cooperation with other existing initiatives such as the already active IETF working group NetVC was initially avoided. AOMedia later agreed on VP10 as the basis for their new video formats. The official release of VP10 has been abandoned in favor of AV1 , the first in the AOMedia Video (AVx) video format series .
Web links
- Official website
- Overview of the bit stream format (English)
- Jan Ozer (Streaming Media Magazine), June 2016: VP9 Finally Comes of Age, But Is it Right for Everyone? (English)
Individual evidence
- ↑ a b c Alex Converse (Google), September 19, 2015: New video compression techniques under consideration for VP10 - Presentation at the VideoLAN Dev Days 2015 in Paris
- ↑ a b c Anja Schmoll-Trautmann (CNET), April 8, 2015: Youtube: Compression with Codec VP9 started ( memento of the original from December 1, 2017 in the Internet Archive ) Info: The archive link was inserted automatically and has not yet been checked. Please check the original and archive link according to the instructions and then remove this notice.
- ^ Peter Beverloo: VP9 and Opus, Background Position Offset and Ruby Positioning. December 18, 2012, accessed November 1, 2014 .
- ↑ a b src.chromium.org
- ↑ a b Ed Hewitt (Ohso Ltd.), February 21, 2013: Google Chrome hits 25
- ↑ a b Volker Zota: Google's web video codec VP9 on the home straight. Heise Newsticker, June 18, 2013, accessed on November 1, 2014 .
- ↑ a b Firefox Notes. Mozilla, March 18, 2014, accessed November 1, 2014 .
- ↑ VP8 Bitstream Specification License
- ↑ Add slightly more colorspace variations . In: Chromium (web browser) , Google, June 7, 2013. Retrieved June 19, 2013.
- ^ Change the use of a reserved color space entry . In: Chromium (web browser) , Google, November 6, 2014. Retrieved November 7, 2014.
- ↑ Martin Řeřábek, Touradj Ebrahimi ( EPFL ): Comparison of compression efficiency between HEVC / H.265 and VP9 based on subjective assessments . In: Proceedings of SPIE - Applications of Digital Image Processing XXXVII . tape 9217 . San Diego 2014, doi : 10.1117 / 12.2065561 (English, epfl.ch ).
- ↑ Iain Richardson, Abharana Bhat, September 5, 2014: How to stream better quality video: Part 3 - Ultra High Definition, 4K and next generation video codecs
- ↑ Ronald S. Bultje: VP9 encoding / decoding performance vs. HEVC / H.264 . September 28, 2015. Retrieved June 5, 2016. "x265 / libvpx are ~ 50% better than x264, as claimed. But, they are 10–20 times slower. (...) the bitrate improvement normalized for CPU usage is only 20-30%. "
- ↑ Jan Ozer, April 2015: The Great UHD Codec Debate: Google's VP9 Vs. HEVC / H.265
- ↑ a b c d e Jan Ozer, June 2016: VP9 Finally Comes of Age, But Is it Right for Everyone?
- ↑ a b Ronald S. Bultje: The world's fastest VP9 decoder: ffvp9 . February 22, 2014. Retrieved May 14, 2016: “So how does VP9 decoding performance compare to that of other codecs? There's basically two ways to measure this: same-bitrate, or same-quality (...) We did same-quality measurements, and found: ffvp9 tends to beat ffh264 by a tiny bit (10%) (...) we did some same- bitrate comparisons, and found that x264 and ffvp9 are essentially identical in that scenario "
- ↑ a b c d Adrian Grange (Google), Harald Alvestrand (Google), February 18, 2013: A VP9 Bitstream Overview
- ↑ Max Sharabayko: Next Generation Video Codecs: HEVC, VP9, Daala. October 22, 2013, accessed August 9, 2015 .
- ↑ VP-Next Overview and Progress Update (PDF). In: WebM Project , Google. Retrieved December 29, 2012.
- ^ Adrian Grange: Overview of VP-Next (PDF), Internet Engineering Task Force . Retrieved December 29, 2012.
- ↑ Shahriar Akramullah: Video Coding Standards . In: Digital Video Concepts, Methods, and Metrics . Apress, 2014, ISBN 978-1-4302-6712-6 , pp. 55-100 , doi : 10.1007 / 978-1-4302-6713-3_3 (English, springer.com ).
- ^ Christopher Montgomery : Introducing Daala part 3: Time / Frequency Resolution Switching. In: Monty's demo pages. Xiph.Org, Red Hat Inc., August 12, 2013, accessed on July 19, 2016 (English): “We submitted this WHT plus a few variants to Google for use in VP9's lossless coding mode; they chose one of the alternate versions of the WHT illustrated above. "
- ↑ Kilroy Hughes, David Ronca, 2015: Draft: VP Codec ISO Media File Format Binding
- ↑ Pieter Kapsenberg: How VP9 works, technical details & diagrams . October 8, 2013. Accessed March 31, 2014.
- ↑ Jan Ozer, April 12, 2016: A Progress Report: The Alliance for Open Media and the AV1 Codec
- ↑ Nicolas La Rocco (ComputerBase), April 19, 2016: Edge supports WebM, VP9 and Opus with a major update
- ↑ a b Stephen Shankland: Google's Web-video ambitions bump into hard reality , CNET . September 12, 2014. Retrieved September 13, 2014.
- ↑ Michael Larabel (Phoronix), November 28, 2013: Libvpx 1.3.0 "Forest" Supports VP9. New enhancements
- ↑ libvpx license terms
- ^ Dan Grois, Detlev Marpe, Tung Nguyen, Ofer Hadar: Comparative assessment of H.265 / MPEG-HEVC, VP9, and H.264 / MPEG-AVC encoders for low-delay video applications . In: Proceedings of SPIE - Applications of Digital Image Processing XXXVII . tape 9217 . San Diego, California 2014, doi : 10.1117 / 12.2073323 (English, spiedigitallibrary.org ).
- ↑ Ronald S. Bultje: The world's fastest VP9 decoder: ffvp9. In: blogs.gnome.org. February 22, 2014, accessed May 3, 2016 .
- ↑ Ittiam and ARM are the first to efficiently bring Google's VP9 to mobile devices , ARM Community. January 7, 2014. Retrieved July 4, 2013.
- ↑ Ittiam's H.265 and VP9 Solutions to Have Widespread Coverage at CES 2014 , ARM Community. January 7, 2014. Retrieved July 4, 2013.
- ↑ Ronald S. Bultje: The world's best VP9 encoder: Eve. In: blogs.gnome.org. May 2, 2016, accessed May 3, 2016 .
- ↑ Welcome to the GitHub repo for the SVT-VP9 encoder! To see a list of feature request and view what is planned for the SVT-VP9 encoder, visit our Trello page: http://bit.ly/svt-vp9: OpenVisualCloud .. Open Visual Cloud, March 30, 2019, accessed on April 1, 2019 .
- ↑ SVT-VP9 Is Intel's Latest Open-Source Video Encoder Yielding High Performance VP9 - Phoronix. Retrieved April 1, 2019 .
- ↑ a b AMD Radeon Software 12/16/1 Release notes (Crimson ReLive Edition) • / r / Amd. In: reddit. Retrieved December 8, 2016 .
- ↑ Ryan Smith, Anandtech, October 31, 2016: ARM Announces Mali-G51 Mainstream GPU, Mali-V-61 Video Processing Block
- ↑ Volker Zota (heise online), February 19, 2010: Google completes takeover of the codec specialist On2 Technologies
- ↑ a b BoF meeting as part of the IETF85 conference in Atlanta, USA with a presentation on VP-Next. Audio recording (MP3, ~ 60 MiB), presentation slides (PDF, ~ 233 kiB)
- ↑ Next Gen Open Video (NGOV) Requirements ( Memento of the original from June 4, 2016 in the Internet Archive ) Info: The archive link was inserted automatically and has not yet been checked. Please check the original and archive link according to the instructions and then remove this notice.
- ↑ Tsahi Levent-Levi, March 4, 2013: WebRTC's Future: is it H.265 or VP9?
- ^ Adrian Grange (Chrome Media Group, Google): Overview of VP-Next , A Next Generation Open Video Codec - Objectives & Progress
- ↑ Stephen Shankland (CBS Interactive Inc.), December 28, 2012: Google's new VP9 video technology reaches public view
- ↑ Press release of March 7, 2013: Google and MPEG LA Announce Agreement Covering VP8 Video Format
- ↑ Thomas Catan: Web Video Rivalry Sparks US Probe. In: The Wall Street Journal. Dow Jones & Company, Inc., March 4, 2011, accessed December 31, 2011 .
- ↑ Jacqui Cheng: Report: DoJ looking into possible anti-WebM moves by MPEG LA . In: Ars Technica . Condé Nast Digital. March 4, 2011. Accessed December 31, 2011.
- ↑ a b Sebastian Grüner (golem.de), September 23, 2015: Make one out of three - video codec free of charge
- ↑ Michael Larabel (Phoronix.com), August 17, 2015: Google Starts Pushing Out VP10 Open Source Code Into Libvpx