Thursday, November 8, 2012

Sixth Generation VP8 Hardware Accelerators Released

Today we’re launching the G1 decoder “Fairway” and the H1 encoder “Foxtail”, the sixth generation VP8 hardware IP cores.

By redesigning the DMA engine architecture in the Fairway decoder we’ve improved VP8 decoding speed by 50% in a typical network-on-chip environment that exposes IP cores to very long memory latencies. Fairway is also using 20% less SRAM than the previous releases making the chip manufacturing cheaper.
Our target with the encoder was to further stretch the limits of single-pass, low-latency VP8 coding. The diagram below compares Foxtail to older IP encoder releases, as well as to the libvpx software VP8 encoder, configured to WebRTC quality settings. The results show that running a WebRTC session in a device with Foxtail VP8 encoding produces better quality video than libvpx across a wide range of datarates. 
We achieved the quality improvements in Foxtail by implementing macroblock adaptive rate-distortion optimization. Compared to the initial “Anthill” IP core release launched in March 2011, we’ve improved the compression rate by up to 40%.
The new releases, targeted for ASIC developers, are available at no cost by requesting a license at webmproject.org/hardware. Integration support services and multi-standard versions are available from Verisilicon. The VP8 hardware cores have now been licensed to over 80 chip companies, and both the decoder and encoder are in mass production from a number of partners.
Looking forward, the hardware team will be focusing more attention on the next generation codec development including the VP8 experimental branch. 
Aki Kuusela is engineering manager for the WebM project hardware team.


Friday, May 11, 2012

VP8 Codec SDK "Eider" Released

"Eider," the fifth named release of the VP8 Codec SDK (libvpx), is now available. You can download the Eider libvpx snapshot (version 1.1.0) from our Downloads page, or clone it from our Git repository.

In addition to a number of enhancements, this release fixes a decoder bug first introduced in v1.0.0, "Duclair," so all users of that release are encouraged to upgrade.

Note that the VP8 format definition has not changed, only the SDK. Eider is ABI and API compatible with Duclair. Code changes shouldn't be required in most applications, but please consult the "Upgrading" instructions in the CHANGELOG. In particular, use of the encoder's spatial denoiser has changed.

Enhancements

  • Eider adds a motion-compensated temporal denoiser, which gives higher quality than the older spatial denoiser. 
  • We've added support for new compilers and platforms, including improved Xcode support, Android x86 NDK build, OS/2 support and SunCC support. 
  • Input resolution may now be changed without re-initializing the codec. 
  • The vpxenc application has initial support for producing multiple encodes from the same input in one call. 

Performance Improvements

With Eider, our focus was on decoder speed and realtime encoder speed.
  • Large realtime encoding speed gains with little quality loss are possible using the on-the-fly bitpacking experiment. Video conferencing-style encodes can be up to 13% faster, depending on resource allocation, with loss in the range of 0.2dB.
  • Decoder speed improved 2.5% vs. Duclair. 
  • Two-pass encoding of slideshow-like material will see significant speed improvements. 
Quality is consistent with Duclair, but saw some useful tweaks:
  • Reduced blockiness in easy sections, by penalizing intra modes. 
  • Improved quality of static sections (like slideshows) with two-pass encoding. 
  • Improved keyframe sizing with multiple temporal layers. 
Many thanks to all who worked on Eider, and welcome to four new contributors:
  • KO Myung-Hun 
  • Marco Paniconi 
  • Priit Laes 
  • Takanori MATSUURA 
John Koleszar is a software engineer at Google.

Thursday, March 29, 2012

WebM Gaining Momentum in Hardware

Hardware product cycles are very long, especially from the software developer’s perspective. However, in just under two years after the launch of the WebM Project, the leading chip vendors are bringing to the market full hardware support for VP8 real time and streaming video decoding and encoding at 1080p resolution.

In addition to the K3V2 application processor from Huawei and the RK30xx application processor from Rockchip announced at the Mobile World Congress 2012, ST-Ericsson has also finished developing a new platform with full VP8 support. “Working with the WebM team, ST-Ericsson is proud to demonstrate the first prototype devices using the NovaThor L9540™, a complete LTE platform for smartphones and tablets equipped with a high-performance application processor,” said Itai Dadon, Smartphone Business Development at ST-Ericsson. “The NovaThor L9540 incorporates a dual-core CPU, a powerful graphics engine and optimized multimedia accelerators in a high-performance, low-power solution which is fully geared for 1080p 30fps video playback of WebM on HTML5”.



And this is just the beginning. Many more of the world’s top semiconductor companies are also shipping 1080p VP8 capable mobile chipsets later this year.

In addition, Smart TVs with full HD WebM support are coming to the market from LG Electronics this spring, with other OEMs following soon after that. These will demonstrate in their big screens the HD quality of WebM videos by sites such as YouTube, which has been broadly supporting WebM in its html5 player since the launch of WebM in May 2010.

The overall goals of the WebM Project are broader than just getting hardware support for VP8. We’ve worked hard to make the usability of VP8 hardware accelerators in devices as straightforward as possible by leveraging widely adopted industry standard interfaces. Software developers can now easily take advantage of this extra horsepower, as we’ve achieved our goal of getting VP8 included in the recently released OpenMAX IL 1.2 specification. OpenMAX IL is used to access the video accelerators in some of the most popular operating systems today.

WebM hardware acceleration is now quickly emerging on chipsets and we expect to achieve rapid adoption of WebM acceleration on new devices in the coming year.

Aki Kuusela is Engineering Manager for the WebM Hardware Team.

Friday, February 24, 2012

VP8 Hardware Decoder Version 5 “Eagle” Released

Today we have made available the fifth generation of the silicon-proven G-Series 1 VP8 hardware decoder IP, internally called “Eagle”.

Eagle has the following key figures:
  • 1080p 60fps VP8 decoding at 200MHz
  • Maximum clock frequency 290 MHz, up by 32% (65 nm LP process, topographical synthesis)
  • 357 kgates logic, 52 kB single-port SRAM
  • Less than 2 MHz host CPU load
The increased performance levels allow a great multi-channel playback experience suitable e.g. for TV channel preview, multi-party video conferencing and multi-tab YouTube watching. The G-Series 1 decoder has recently secured multiple design wins in leading Smart TV and Set-Top Box SoCs, proving the performance to be at an appropriate level even for the highest-quality content decoding.

The G1 v5 VP8 decoder is available for licensing at no cost to chip manufacturers at the WebM Project’s hardware page. The multi-format version of the IP and support services for the VP8 standalone core are provided by our channel partner Verisilicon.

WebM Project releases a new generation video IP every quarter to allow the semiconductor licensees to always take advantage of the latest technology. In our next decoder release, we are targeting significant performance boost and smaller silicon footprint.


Aki Kuusela is Engineering Manager of the WebM Project hardware team.

Thursday, February 23, 2012

Fifth Generation VP8 Hardware Encoder Released

The fifth generation of the widely adopted H1 hardware encoder for VP8, internally known as “Evergreen”, has become available for licensing today. In the Evergreen release, we focused on improving the real-time communication features and on optimizing the encoding speed and visual quality. In particular, we have now enabled temporal and spatial scalability for VP8 video coding, a valuable feature for live streaming, multi-way video conferencing and security applications. To our knowledge, there are no companies offering H.264/SVC (scalable video coding) hardware encoders for chipset manufacturers at the moment. With this release, VP8 now offers scalable coding at the hardware level.

The Evergreen release includes the following new features:

  • Up to four layers of temporal scalability (e.g. 60, 30, 15, 7.5 fps)
  • Integrated image downscaler for spatial scalability in VP8 simulcasting
  • Support for up to four DCT partitions for faster multicore CPU decoding
  • Adaptive golden frame period and quantization
  • Improved chrominance intra prediction
  • Improved mode selection with multiple QP segments
  • Rate-distortion optimization for both PSNR and SSIM
  • Real-time frame PSNR feedback
These new features enable us reach the following performance improvements:

  • 30% faster encoding, requiring only 220 MHz clock rate for 1080p at 30fps
  • 40% improved external memory latency tolerance, making the IP suitable for Network-on-Chip architectures
  • On average 6% smaller bitrate at similar SSIM, or up to 0.7 dB higher PSNR over the previous H1 v4 “Dragonfly” encoder
Furthermore, by just updating the firmware, all v4 “Dragonfly” chipsets also get a nice boost of 4% smaller bitrate at similar SSIM quality.

More technical details are available at the WebM Project’s hardware page.

As shown in the rate-distortion curve for “ice” CIF sequence below, the hardware’s quality is comparable to the real-time mode (-rt -cpu-used=-5) of the recently launched libvpx “Duclair” encoder.




H-Series 1 VP8 encoder and the silicon-proven G-Series 1 VP8 decoder are available at no cost to chip manufacturers at the WebM Project’s hardware page. Our reseller partner Verisilicon licenses both IP cores as multi-format versions, and offers support and maintenance service for the free VP8 cores.

WebM Project releases a new generation video IP every quarter to allow the semiconductor licensees to always take advantage of the latest technology. In our next release, we have our eyes on making significant improvements to the subjective video quality at low to midrange bitrates.


Aki Kuusela is Engineering Manager of the WebM Project hardware team.

Friday, January 27, 2012

VP8 Codec SDK "Duclair" Released

"Duclair," the fourth named release of the VP8 Codec SDK (libvpx), is now available. You can download the Duclair libvpx snapshot (version 1.0.0) from our Downloads page or clone it from our Git repository.

This release fixes a decoder crash bug introduced in Cayuga (v0.9.7), so we encourage all Cayuga users to upgrade.

Note that the VP8 format definition has not changed, only the SDK. Duclair is ABI incompatible with prior releases of libvpx, so the major version number has been increased to 1, and you must recompile your applications against the v1.0.0 libvpx headers. The API remains compatible, so code changes shouldn't be required in most applications.

New Features

This release introduces substantial new VP8 encoder features that are especially useful for real-time use cases such as live streaming and videoconferencing.
  • Temporal scalability produces a video stream that can be decimated to different frame rates, with independent rate targeting for each substream.
  • Multiframe postprocessing can make visual quality more consistent in the presence of frames that are of substantially different quality than the surrounding frames, as in the temporal scalability case and in some forced keyframe scenarios.
  • Multiple-resolution encoding enables simultaneous encoding of the same content at different resolutions, resulting in much faster encoding than processing them separately.
Performance Improvements

In this release we focused on optimizing VP8 decoder speed and the real-time modes of the encoder.
  • Decoder speed on x86 processors improved 10.5%. 
  • Encoder improvements followed a curve where speed settings 1-3 improved 4.0%-1.5%, speeds 4-8 improved <1%, and speeds 9-16 improved 1.5% to 10.5%, respectively.
See the CHANGELOG for a complete description.

Thanks to everyone who worked on Duclair, and welcome to our four new contributors:
  • Alpha Lam
  • Deb Mukherjee
  • Jeff Faust
  • Rafaël Carré 
John Luther is Product Manager of the WebM Project.

Friday, December 9, 2011

Picking the Right Driver

We are very excited to announce the availability of the fourth generation G-Series 1 VP8 hardware decoder, internally codenamed “Driver”.

In this release, our focus has been on optimizing the VP8 bitstream decoder. The new architecture helps the IP run at 13% higher operating frequency allowing the decoder chips to reach higher frame rates or do multi-channel decoding more easily. At the same time, the new implementation has reduced the decoder’s logic gate count by 6% which directly cuts the production cost of each chip incorporating a WebM hardware decoder. Furthermore, the revamped design allows us to do even more optimizations for the next release. With future video requirements in mind, we designed Driver to decode up to 4k by 4k video resolutions.

To make the IP evaluation easier for a chip company, the deliverables now include a bit-exact decoder C-model. This allows partners to create their own test cases for thorough performance analysis.

Modern multi-core CPUs are getting powerful enough to decode HD video, so why is having hardware accelerators still useful? One good reason is battery life. We got our hands on one of the first commercial Android tablets based on the Rockchip RK2918 chip which uses our very own WebM hardware decoder and ran some tests. We charged the battery and looped a 480p video until the battery died. For the purpose of the experiment, we had to limit the resolution because the single-core CPU of the device could not run 720p @ 30fps in pure software. The battery test was done with the VP8 hardware acceleration enabled and disabled, and at two display brightness settings. The result: with the hardware offload the battery lasted up to 36% longer which gets us one extra movie to watch on that long flight! You can see the battery discharge vs. elapsed time plots below. Needless to say, using two or four CPU cores for HD video decoding in software uses even more power and widens the gap to hardware's benefit.


The G1 v4 VP8 decoder is now available for licensing at no cost at the WebM Project hardware page. The multiformat version of the IP and support services can be accessed through our partner Verisilicon.

Aki Kuusela is Engineering Manager of the WebM Project hardware team.