The VP8 video codec: High compression + low complexity

On2 VP8 achieves high compression with a bitstream that is less compute intensive to decode than either its predecessor (VP7) or competing technologies like H.264. Here's how it works.

By Jim Bankoski, On2
dspdesignline.com (February 27, 2009)

Announced in the fall of 2008, On2 Technologies' 8th generation video codec, On2 VP8 offers significant gains in compression performance in a bitstream that is less compute intensive to decode than either its predecessor (VP7) or other competing technologies such as H.264 Inheriting many great innovations from its predecessors (VP7 and VP6) such as golden frames, processor-adaptive real-time encoding and a low-complexity loop filter, VP8 adds more than fifty new techniques to achieve its goal of outstanding quality at low bitrates, with very low complexity.

On2 VP8 has been designed with a wide range of machines in mind, from 60 MHz ARM9 processors to today's highly parallel multi-core processors. It encodes in real-time on low-end machines, and takes fewer cycles to decode than other leading algorithms. This article explores some of the innovations that make VP8 work so well.

The Constructed Reference Frame

One of the most exciting innovations in VP8 is the constructed reference frame. A constructed reference frame is a frame of image data (a reference buffer) that's encoded into the bitstream but never displayed. It serves solely to improve the encoding of subsequent frames by providing an additional and hopefully better predictor than any previously transmitted "normal frames."

The creation of a constructed reference frame is not defined by the bitstream. Instead, creating the best possible constructed reference frame is a task left to the encoder. It could, for example, be created by compositing several past and future frames, with appropriate motion compensation and temporal filtering, or it could contain arbitary elements such as graphic overlays, that need to be inserted in some of the subsequent frames.

Click here to read more ...

×
Semiconductor IP