Here's what I know about VP9 coding tools.
64x64 "superblocks". Each divisible vertically, horzontally or quad. Quad divisions are recursive, so you can have any shape NxM, where N and M are 2^(2..6), and never more than 1 power apart (e.g. 4x4, 16x32, 8x4, 64x64 ... etc).
128x128 support is on the table, but undecided.
4 supported transforms: 4x4, 8x8, 16x16, 32x32. Yes this is the same as HEVC.
10 intra modes at any square size. 6 of these are directional.
1/8th pel motion comp, 8-tap filters. 3 filters (normal, blur, sharpen), selectable per prediction unit or frame.
3 ref pics per pic, but up to 8 pics to hold on to.
Discrete sine transform for intra blocks.
A second loop filter (analogous to SAO in HEVC) is under experimentation.
Bitstreams are still "data paritioned" like vp8, which is a pain for HW designs.
Entropy coding is similar to vp8.
Support for tiles, like HEVC, for parallel decode. Mandated above 2k resolution.
Support for lossless coding, as well as 4:4:4 with alpha.
The picture is still single-loop decodable to make HW implementations simpler.
|