SMPTE VC-6
The compute-aware data format built for GPU-native AI pipelines and next-generation production.
What is VC-6?
VC-6 is a standardized hierarchical image and video format that encodes every frame as a multi-resolution pyramid, so your pipeline decodes only what it needs, where it needs it. Sub-millisecond 4K GPU decode. Up to 96% pipeline-time reduction versus legacy codecs. Native region-of-interest access. No special silicon required.
From cameras and sensors to broadcast production and vision AI at the edge, VC-6 removes the data movement bottleneck across every compute environment.
Key stats
| Metric | Result |
|---|---|
| 4K – Full frame decode (LoQ0) - Real-time (batch=1) | 2.37 ms |
| 4K – Full frame decode (LoQ0) - Batch (256) | 0.78 ms |
| AI resolution decode (LoQ2) - Real-time (batch=1) | 1.72 ms |
| AI resolution decode (LoQ2) - Batch (256) | 0.15 ms |
| Lossy decode speed-up vs nvImageCodec (RTX L40) - real-time | up to 7.8x vs J2K, 4.8x vs JPEG, 2.1x vs HTJ2K |
| Lossy decode speed-up vs nvImageCodec (RTX L40) - batch | up to 22.1x vs J2K, 16.9x vs JPEG, 11.8x vs HTJ2K |
| I/O reduction in inference | Up to 30x** |
| dge pipeline time reduction | 70-90%** |
| Visual data curation speed-up | 2-6x |
*Measured on NVIDIA RTX L40 GitHub benchmark. LoQ = Level of Quality; LoQ2 = AI/model resolution. Read the benchmark report for more details.
** Read more in MHV26
Disclaimer: Results are encoding parameter dependent and will vary by content.
Key stats
< 1 ms
Lorem ipsum dolor sit amet, consectetur adipiscing elit
2.5x
Lorem ipsum dolor sit amet, consectetur adipiscing elit
10x
Lorem ipsum dolor sit amet, consectetur adipiscing elit
70-90%
Lorem ipsum dolor sit amet, consectetur adipiscing elit
VC‑6 delivers faster image decode than the tested JPEG, J2K, and HTJ2K nvImageCodecs baselines in both lossy and lossless modes, with the advantage increasing at lower Levels of Quality. At a batch size of 256, VC‑6 LoQ‑2 achieves up to ~22x faster lossy decode and ~45x faster lossless decode versus J2K, enabling order‑of‑magnitude latency reductions for AI and image‑processing workloads that do not require full‑resolution inputs.
The detail
VC-6 is a fundamentally different image and video format from legacy alternatives. Where block-based DCT (JPEG) or wavelet-based formats (JPEG 2000) encode an image as a single flat representation, VC-6 generates a repeatable S-tree hierarchy of resolutions. The SMPTE standard calls each resolution level a Level of Quality – LoQ (echelon).
This is not a compression optimization. It is a different architecture. Each of up to 255 independent data planes (RGB, YUV, alpha channels, depth maps, LiDAR, multispectral, or any grid-based sensor modality) is compressed as its own hierarchy. The result is a format that is natively parallel, natively selective, and natively suited to GPU execution, without any specific hardware dependency.
Encoding
Encoding steps at a glance:
- Build plane stack: down-sample each component plane (half width and height) to create LoQs from I0 to I-(N+1)
- Reconstruct upward: start from the lowest LoQ and recursively up-sample to form predictions
- Compute residuals: for every LoQ except the base, subtract the prediction from the source
- Assemble bitstream: encode the base LoQ, then encode each residual plane to build the full multi-resolution VC-6 bitstream
Decoding
Decoding steps at a glance:
- Parse bitstream: read the header and extract the encoded base LoQ and ordered encoded residuals
- Decode base and residuals: decompress the base and all residual planes
- Reconstruct upward: up-sample and add residuals at each level until you reach the resolution you need, or stop early
- Partial access: decode only specific LoQs, specific regions of interest, or both
Benefits
- GPU-native, no special silicon. S-tree design maps directly to massively parallel GPU execution. Runs on CUDA, OpenCL, and Metal; CPU on x86 and ARM with SIMD (AVX, NEON).
- Multi-resolution in one file. Decode only up to the LoQ you need. Instant proxies without transcoding, progressive refinement without re-encoding.
- Region-of-interest (RoI) decoding. Target specific frame areas at any LoQ without reconstructing the full image. Ideal for detection refinement, QC, and attribute extraction.
- Selective bitstream retrieval. Fetch only the bitstream portion needed for your target LoQ and RoI. Full transmission is never required, yielding consistent I/O savings across network, PCIe, and memory bandwidth.
- Right-size delivery and storage. From a single 8K master, lower-res LoQs represent a fraction of the total: 4K is approximately 47%, 2K approximately 16%, 1K approximately 5%.
- Standards-based and production-ready. Fully standardised in SMPTE ST 2117-1, with MXF (ST 2117-10) and IMX (ST 2067-71) encapsulation. SDK available for Linux, Windows, and macOS.
Key insights
External resources
Documentation
FAQs
What does “hierarchical” mean?
VC-6 encodes a pyramid of resolutions (LOQs). The decoder can stop early for a proxy, or refine to full detail, and even decode just a region of the image—saving time and energy.
How is VC-6 different from JPEG and JPEG-2000?
Backward compatibility comes from the fact that LCEVC works with any underlying base codec rather than replacing them. Devices or workflows that only understand the base codec can still decode the base layer, while LCEVC-aware decoders use the additional layer to recover the full benefit. That is why LCEVC can extend the life of existing devices, workflows, and deployed infrastructure instead of forcing a complete technology reset.
Can I decode only part of an image?
Yes. ROI decoding is intrinsic to the format; you can target specific areas and/or levels (LOQs) without reconstructing or transmitting the full frame.
Do I need special hardware?
No special silicon is required. VC-6 runs on CPUs and GPUs, with real-time and high-throughput implementations available.
Is VC-6 lossy or lossless?
VC-6 supports both lossy and lossless modes, with configurable quality modes depending on the workflow.
Is VC-6 a proprietary or standardized data format?
VC-6 is an SMPTE standardized format, defined in ST 2117-10.
What SDK implementations are available?
VC-6 SDK implementations are available for Linux, Windows, and macOS. GPU backends include CUDA, OpenCL, and Metal, and CPU implementations support both x86 and ARM with SIMD optimization (AVX; NEON). Python bindings are also available.
What kinds of data can VC-6 handle?
VC-6 supports traditional image formats such as RGBA, 4:2:0, 4:2:2, and 4:4:4, and can support up to 255 planes for images, sensors, and tensors. This makes it suitable for modalities such as multispectral, IR, depth, and LiDAR.
What bit-depths does VC-6 support?
VC-6 supports high-bit-depth image data. In the current SDK implementation, support is up to 14-bit, which is suitable for demanding workflows such as medical, automotive, and other sensor-rich applications.
What resolutions can VC-6 handle?
VC-6 supports very large images, with a current maximum resolution of 64K × 64K (16K × 16K for the high-throughput implementation). This is useful for applications such as surveillance, satellite imaging, and other large-format or high-detail workflows.