Yesterday we learnt about machine learning improving VVC. But VVC has a fundamental property which limits its ability to compress: it’s raster-based. Vector graphics are infinitely scalable with no loss of quality and are very efficient. Instead of describing 100 individual pixels, you can just define a line 100 pixels long. This video introduces a vector-based video codec which dramatically reduces bitrate.
Sam Bhattacharyya from Vectorly introduces this technique which uses SVG graphics, a well-established graphics standard available in all major web browsers. It describes shapes with XML and is similar to WebGL. The once universal Adobe Flash was able to animate SVG shapes as part of its distinctive ‘flash animations’. The new aspect here is not to start with SVG shapes and animate them, but to create those shapes from video footage and recreate that same video but with vectors.
Sam isn’t shy to acknowledge that video vectorisation is a technique which works well on animation with solid colours; Peppa Pig being the example shown. But on more complex imagery without solid colours and sharp lines, this technique doesn’t result in useful compression. To deal with shaded animation, he explains a technique of using mesh gradients and diffusion curves to represent gradually changing colours and shades. Sam is interested in exploring a hybrid mode whereby traditional video had graphics overlayed using this low-bandwidth vector-based codec.
The technique uses machine learning/AI techniques to identify the shapes, track them and to put them in to keyframes. The codec plays this back by interpolating the motion. This can produce files playable at HD of only 100kbps. For the right content, this can be a great option given it’s based on established standards, is low bitrate and can be hardware accelerated.
Sam’s looking for interest from the community at large to help move this work forward.