Thursday, March 31, 2011

H.264/AVC vs. VP8: another view

The EBU BroadThinking event has been held in Geneva (CH), between 29 and 30 March. This year we have contributed to the session "What are tomorrow's web tools?" with a presentation entitled "H.264/AVC and VP8 performance analysis for consumer videoconference applications", as you can find here. The slides are available for download from here in pdf format, but only for the people registered on the EBU website.

Update (Apr.13th): the presentation is now available through Slideshare.

Let me copy&paste the abstract here for your convenience:

In this contribution we compare the performance of H.264/AVC and VP8 video coding formats for consumer videoconference applications for mobile or consumer terminals. For the H.264/AVC format we chose the popular x264 open source implementation of the standard, whereas for VP8 we used the libvpx software model that Google open sourced to the web community in May 2010. Since videoconference is strictly a low-delay application, both encoders were similarly configured avoiding backward temporal prediction that would introduce a structural delay in the encoding-decoding chain, and they were also set in constant bit-rate mode, using single-pass bit-rate control with target bit-rates between 512 kb/s and 8 Mb/s, constraining the allowed delay between 125 ms and 500 ms by properly limiting the maximum output buffer capacity.

Our test bed was not limited to evaluating video compression only, as in fact we considered the full video processing chain, including image acquisition. For this purpose we used a proprietary analytical model of a typical CMOS sensor, introducing the corresponding distortion and noise to 7 standard test sequences at 1280x720 spatial resolution. The sequences were then fed as input to the two software encoders, and then the decoded pictures were compared to the noisy source signals considering both PSNR (Peak Signal to Noise Ratio) and SSIM (Structural Similarity) measured on the luminance component. The simulation results demonstrated that the H.264/AVC and VP8 encoders have very similar performance: libvpx resulted somewhat better than x264 in term of PSNR (+0.16 dB on average) and very slightly worse in terms of SSIM (-0.005 on average). 

We would also like to compare the commercial implications of the two codecs, (royalties vs. Open source), and public visibility on reciprocal road mapping.

No comments: