Skip to content
Christian Lehmann edited this page Jun 28, 2024 · 64 revisions
Build Usage Performance
Compiling, installing and developing for VVenC Using VVenC Encoder Performance and comparisons

VVenC

VVenC Logo

Introduction

VVenC, the Fraunhofer Versatile Video Encoder, is a fast and efficient H.266/VVC encoder implementation. After the release of the initial version in September 2020, performance and runtime are improved in each next version.

The graph below shows the presets' development over time in multi-threaded operation (0.1-0.2: 6 threads, 8 threads for later versions).

VVenC MT preset history

Background

In July 2020, the Joint Video Experts Team (JVET), a collaborative project of the ITU-T Video Coding Experts Group (VCEG) and ISO/IEC Moving Picture Experts Group (MPEG), has finalized a new video coding standard called Versatile Video Coding (VVC) 1 2. VVC is the successor of the High Efficiency Video Coding (HEVC) standard 3 4 and has been released by ITU-T as H.266 and by ISO/IEC as MPEG-I Part 3 (ISO/IEC 23090-3). The new standard targets a 50% bit-rate reduction over HEVC at the same visual quality. In addition, VVC proves to be truly versatile by including tools for efficient coding of video content in emerging applications, e.g. high dynamic range (HDR), adaptive streaming, computer generated content as well as immersive applications like 360 degree video and augmented reality (AR).

Overview

VVenC 5 development was initiated to provide a publicly available, fast and efficient VVC encoder implementation. The VVenC software is based on VTM 6, with optimizations including software redesign to mitigate performance bottlenecks, extensive SIMD optimizations, improved encoder search algorithms and multi-threading support to exploit parallelization. Additionally, VVenC supports real-world encoder features, including frame-level rate control and perceptually optimized encoding in order to provide a flexible, fast and easy to use video encoding solution for the VVC standard.

Bit-streams encoded with VVenC can be decoded by any VVC standard compliant decoder, e.g. VVdeC 7. Alternatively, the VTM reference software decoder solution can be used. Resulting encoded raw VVC bitstreams can be encapsulated into multimedia files and used in multimedia pipelines as described in 8.

Features at a glance

  • Easy to use encoder implementation with five predefined quality/speed presets.
  • Optimized VVC encoder providing speedups between 20x and 2400x over VTM-19.2 for HD and UHD test sequences depending on the chosen quality/speed preset.
  • Perceptual optimization to improve subjective video quality.
  • Frame-level rate control supporting VBR encoding.
  • Expert mode encoder interface available, allowing fine-grained control of the encoding process.

Publications

For general referencing of VVenC please cite:

  • A. Wieckowski et al., "VVenC: An Open And Optimized VVC Encoder Implementation," 2021 IEEE International Conference on Multimedia & Expo Workshops (ICMEW), 2021, pp. 1-2, doi: 10.1109/ICMEW53276.2021.9455944.

Other publications can be found in the Publications section.

Contributing

Feel free to contribute. To do so:

  • Fork the current-most state of the master branch
  • Apply the desired changes
  • For non-trivial contributions, add your name to AUTHORS.md
  • Create a pull-request to the upstream repository

References

  • [1] B. Bross, Y.-K. Wang, Y. Ye, S. Liu, J. Chen, G. J. Sullivan, and J.-R. Ohm, “Overview of the Versatile Video Coding (VVC) Standard and its Applications,” IEEE Transactions on Circuits and Systems for Video Technology, doi: 10.1109/TCSVT.2021.3101953, 2021.
  • [2] ITU-T and ISO/IEC JTC 1, Versatile Video Coding, Rec. ITU-T H.266 and ISO/IEC 23090-3 (VVC), Aug. 2020.
  • [3] G. J. Sullivan, J.-R. Ohm, W.-J. Han, and T. Wiegand, “Overview of the High Efficiency Video Coding (HEVC) Standard,” IEEE Transactions on Circuits and Systems for Video Technology, vol. 22, no. 12, pp. 1649–1668, 2012.
  • [4] ITU-T and ISO/IEC JTC 1, High Efficiency Video Coding, Rec. ITU-T H.265 and ISO/IEC 23008-2 (HEVC), Apr. 2013 (and subsequent editions).
  • [5] A. Wieckowski et al., "VVenC: An Open And Optimized VVC Encoder Implementation," 2021 IEEE International Conference on Multimedia & Expo Workshops (ICMEW), 2021, pp. 1-2, doi: 10.1109/ICMEW53276.2021.9455944.
  • [6] VTM software repository, version VTM-15.0. Available online: https://vcgit.hhi.fraunhofer.de/jvet/VVCSoftware_VTM
  • [7] VVdeC software repository. Available online: https://github.com/fraunhoferhhi/vvdec
  • [8] A. Wieckowski, C. Lehmann, B. Bross, D. Marpe, T. Biatek, M. Raulet, and J. Le Feuvre, “A Complete End-To-End Open Source Toolchain for the Versatile Video Coding (VVC) Standard,“ 29th ACM International Conference on Multimedia (MM’21), 2021. doi: 10.1145/3474085.3478320
Clone this wiki locally