> For the complete documentation index, see [llms.txt](https://docs.v-nova.com/technologies/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.v-nova.com/technologies/smpte.vc-6/v-nova-vc-6/overview.md).

# Overview

### Introduction

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.

### Key attributes

#### Bitstream

* 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.

#### Encoder

* 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.

#### Decoder

* 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.

#### Codec

* Lossless quality, assuming a sufficient bitrate.
* Nonlinear upsampling, configurable in both encoder and decoder.
* Efficient, multi-resolution format.

### VC-6 standard

The VC-6 codec standard is published as SMPTE ST 2117-1:2020.

### VC-6 tools and licensing

V-Nova provides a complete software development kit (SDK) for VC-6, which includes: software libraries for encoding and decoding VC-6 bitstreams, example applications, and an FFMPEG and Python integration. There are two versions of the SDK that support Linux and Windows, using either the CPU (x86) or GPU implementation.


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## Querying This Documentation
If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter, and the optional `goal` query parameter:

```
GET https://docs.v-nova.com/technologies/smpte.vc-6/v-nova-vc-6/overview.md?ask=<question>&goal=<endgoal>
```

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is optional and describes the broader end goal you are ultimately trying to accomplish on behalf of the user. GitBook uses it to tailor the answer towards what is most useful for that goal.

The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
