Products – Electronic design services with Argon Design Ltd.


Argon Streams Image 10

The Challenge

VP9 is an open and royalty-free video compression standard developed by Google. Providing improved resolution coupled with lower bandwidth requirements, it has already been selected by YouTube, and is regarded as the technology of the future for internet streaming of Ultra HD video.

However, VP9 is a complex video codec and developers of hardware video decoders will need a rigorous verification process to ensure compatibility.

Argon Streams VP9 is a set of test bit-streams for the Google VP9 video codec standard based on formal verification techniques. Using Argon Streams VP9, IP developers can be confident that their decoders are fully verified against the standard and will be compatible with current and future VP9 technology.

Our Approach

Based on Google’s reference code for VP9, Argon Design has written a mathematically accurate pseudo-code specification for VP9, together with a compiler that understands this pseudo-code and that includes a model of the VP9 coding process. The compiler uses the pseudo-code equations to produce a Bit-stream Generator and a Coverage Tool.

Using random numbers within a shaped probability distribution for each syntax element, the Bit-stream Generator is able to produce test bit-streams exploring the full space of valid VP9 syntax.

The Coverage Tool is then used to select and tune the bit-streams into a concise set that provides full coverage with the minimum number of bit-streams. The decoded frames for each bit-stream are then verified against Google’s reference code.

This closed loop system ensures that there are no missed test cases or any incompatibilities between Google's reference code, the Argon Streams VP9 pseudo-code specification and the Argon Streams VP9 bit-streams.

Argon Coverage Tool VP9

The Argon Coverage Tool VP9 is an optional addition to Argon Streams VP9 that analyses one or more test bit-streams and produces a detailed coverage report that can be viewed in Google Chrome.

The coverage report details exactly which areas of the specification are covered by any set, or subset, of test bit-streams and is cross-linked to the pseudo-code specification to show exactly which sections and equations are being verified.

The Argon Coverage Tool VP9 is available as both Windows and Linux executables.

Argon Streams VP9

We’ve used the mathematical model produced by our compiler to generate a set of test bit-streams that cover the entire space of valid VP9 syntax. Argon Streams VP9 uses a formal verification technique and is the only product which provides designers with full test coverage of their VP9 decoder.

The Test Bit-streams are designed to give comprehensive test coverage of all four profiles in Google's VP9 Reference Code -

  • Profile 0 covers 8 bit streams with 4:2:0 sub-sampling
  • Profile 1 covers 8 bit streams with 4:4:4, 4:2:2 and 4:4:0 sub-sampling
  • Profile 2 covers 10/12 bit streams with 4:2:0 sub-sampling
  • Profile 3 covers 10/12 bit streams with 4:4:4, 4:2:2 and 4:4:0 sub-sampling

The Argon Coverage Tool VP9 allows us to confirm that the set of bit-streams exercise and test every part of the VP9 standard.

The coverage includes:

  • complete branch coverage of every function in the pseudo-code specification
  • complete range coverage of every value for every tree coded symbol
  • cross coverage of key parameters

Each bit-stream consists of a short sequence of typically between 5 and 20 frames; this improves the execution speed during simulation testing and allows rapid pinpointing of the non-conformances in your decoder design. Each bit-stream includes an MD5 digest of the output YUV files.

Frame from Argon Streams

Argon Coverage Report

Argon Streams VP9 includes an interactive Coverage Report which allows you to see which parts of the specification have been exercised by which test bit-streams. It includes a version of Google's VP9 specification and allows you to click on the various equations to view which test bit-stream was the first to exercise that particular part of the specification.

The Coverage Report provides a number of different views of the test results:

  • branch coverage statistics for every pseudo-code function
  • maximum and minimum values for each parsed and computed variable
  • coverage statistics for every value of every tree coded symbol
  • cross coverage to show all combinations of values for multiple syntax elements
  • tooltips to show exactly which bit-streams are used to test each part of each function

The short video clip below explains how to use the coverage report to explore the coverage results in detail.

For more information about Argon Streams

For verification of your AV1 decoder see

For verification of your HEVC decoder see

To enquire about Argon Streams please contact

Press Releases

Contact us

Do you have a project that you would like to discuss with us? Or have a general enquiry? Please feel free to contact us

Contact us