VC-6 (SMPTE ST 2117-1:2020) is a flexible, multi-resolution, intra-only codec that employs data agnostic techniques for compression and can provide both lossless and lossy modes.
There are two significant differences between VC-6’s hierarchical coding techniques and those of discrete wavelet transform-based formats:
- VC-6 can use more elements in its decomposition scheme than in the actual picture. It is unnecessary to send all decomposition elements explicitly; instead, residual data is sent to correct already-calculated predictions. Residual data takes up fewer bits when encoded, setting this standard apart from wavelet transforms.
- VC-6 uses up-sampling techniques that might not be suitable for use in wavelet transforms.
VC-6 also employs additional hierarchical coding techniques that are distinct from those used in predictive coding, sub-band coding-based codecs and discrete wavelet transform-based formats. These techniques involve data structures called s-trees.
- Support for up to 255 component data planes, e.g., colors and alpha, represented in individual component planes, each with any resolution smaller than 65,536 by 65,536. Component plane sizes are independent of each other.
- Prioritization of particular locations in a picture is possible.
- Simple, repetitive bitstream payload structure with a shared header and limited co-dependency.
- Extensive support for injection of metadata.
- Potential for different encoder implementations to employ different methods to produce bitstreams that conform to this standard, as this standard only specifies a bitstream format and generic decoding processes.
- Ability of a conformant bitstream to specify any valid combinations of reduced and extended syntax options, so as to keep the choice of optimal bitstream format entirely an encoder’s decision.
- Ability of decoders to independently select a resolution according to processor and display capability.
- Elimination of blocking artifacts.
- Power consumption/quality trade-off at decoder end.
- Lossless quality, assuming a sufficient bitrate.
- Nonlinear upsampling, configurable in both encoder and decoder.
- Efficient, multi-resolution format.
The VC-6 video codec standard is published as SMPTE ST 2117-1;2020
V-Nova provide a complete software development kit (SDK) for VC-6 which includes software libraries for encoding and decoding VC-6 bitstreams, example applications, and FFMPEG integration. Different versions of the SDK are available to support either Windows or Linux, x86 or GPU environments.