-
Performance Analysis of Optimized Versatile Video Coding Software Decoders on Embedded Platforms
Authors:
Anup Saha,
Wassim Hamidouche,
Miguel Chavarrías,
Guillaume Gautier,
Fernando Pescador,
Ibrahim Farhat
Abstract:
In recent years, the global demand for high-resolution videos and the emergence of new multimedia applications have created the need for a new video coding standard. Hence, in July 2020 the Versatile Video Coding (VVC) standard was released providing up to 50% bit-rate saving for the same video quality compared to its predecessor High Efficiency Video Coding (HEVC). However, this bit-rate saving c…
▽ More
In recent years, the global demand for high-resolution videos and the emergence of new multimedia applications have created the need for a new video coding standard. Hence, in July 2020 the Versatile Video Coding (VVC) standard was released providing up to 50% bit-rate saving for the same video quality compared to its predecessor High Efficiency Video Coding (HEVC). However, this bit-rate saving comes at the cost of a high computational complexity, particularly for live applications and on resource-constraint embedded devices. This paper presents two optimized VVC software decoders, named OpenVVC and Versatile Video deCoder (VVdeC), designed for low resources platforms. They exploit optimization techniques such as data level parallelism using Single Instruction Multiple Data (SIMD) instructions and functional level parallelism using frame, tile and slice-based parallelisms. Furthermore, a comparison in terms of decoding run time, energy and memory consumption between the two decoders is presented while targeting two different resource-constraint embedded devices. The results showed that both decoders achieve real-time decoding of Full High definition (FHD) resolution over the first platform using 8 cores and High-definition (HD) real-time decoding for the second platform using only 4 cores with comparable results in terms of average consumed energy: around 26 J and 15 J for the 8 cores and 4 cores embedded platforms, respectively. Regarding the memory usage, OpenVVC showed better results with less average maximum memory consumed during run time compared to VVdeC.
△ Less
Submitted 30 June, 2022;
originally announced June 2022.
-
OpenVVC: a Lightweight Software Decoder for the Versatile Video Coding Standard
Authors:
Thomas Amestoy,
Pierre-loup Cabarat,
Guillaume Gautier,
Wassim Hamidouche,
Daniel Menard
Abstract:
In the recent years, users requirements for higher resolution, coupled with the apparition of new multimedia applications, have created the need for a new video coding standard. The new generation video coding standard, called Versatile Video Coding (VVC), has been developed by the Joint Video Experts Team, and offers coding capability beyond the previous generation High Efficiency Video Coding (H…
▽ More
In the recent years, users requirements for higher resolution, coupled with the apparition of new multimedia applications, have created the need for a new video coding standard. The new generation video coding standard, called Versatile Video Coding (VVC), has been developed by the Joint Video Experts Team, and offers coding capability beyond the previous generation High Efficiency Video Coding (HEVC) standard. Due to the incorporation of more advanced and complex tools, the decoding complexity of VVC standard compared to HEVC has approximately doubled. This complexity increase raises new research challenges to achieve live software decoding. In this context, we developed OpenVVC, an open-source software decoder that supports a broad range of VVC functionalities. This paper presents the OpenVVC software architecture, its parallelism strategy as well as a detailed set of experimental results. By combining extensive data level parallelism with frame level parallelism, OpenVVC achieves real-time decoding of UHD video content. Moreover, the memory required by OpenVVC is remarkably low, which presents a great advantage for its integration on embedded platforms with low memory resources. The code of the OpenVVC decoder is publicly available at https://github.com/OpenVVC/OpenVVC
△ Less
Submitted 24 May, 2022;
originally announced May 2022.
-
On estimating the structure factor of a point process, with applications to hyperuniformity
Authors:
Diala Hawat,
Guillaume Gautier,
Rémi Bardenet,
Raphaël Lachièze-Rey
Abstract:
Hyperuniformity is the study of stationary point processes with a sub-Poisson variance in a large window. In other words, counting the points of a hyperuniform point process that fall in a given large region yields a small-variance Monte Carlo estimation of the volume. Hyperuniform point processes have received a lot of attention in statistical physics, both for the investigation of natural organi…
▽ More
Hyperuniformity is the study of stationary point processes with a sub-Poisson variance in a large window. In other words, counting the points of a hyperuniform point process that fall in a given large region yields a small-variance Monte Carlo estimation of the volume. Hyperuniform point processes have received a lot of attention in statistical physics, both for the investigation of natural organized structures and the synthesis of materials. Unfortunately, rigorously proving that a point process is hyperuniform is usually difficult. A common practice in statistical physics and chemistry is to use a few samples to estimate a spectral measure called the structure factor. Its decay around zero provides a diagnostic of hyperuniformity. Different applied fields use however different estimators, and important algorithmic choices proceed from each field's lore. This paper provides a systematic survey and derivation of known or otherwise natural estimators of the structure factor. We also leverage the consistency of these estimators to contribute the first asymptotically valid statistical test of hyperuniformity. We benchmark all estimators and hyperuniformity diagnostics on a set of examples. In an effort to make investigations of the structure factor and hyperuniformity systematic and reproducible, we further provide the Python toolbox structure_factor, containing all the estimators and tools that we discuss.
△ Less
Submitted 2 March, 2023; v1 submitted 16 March, 2022;
originally announced March 2022.
-
Selective Encryption of the Versatile Video Coding Standard
Authors:
Guillaume Gautier,
Mousa FarajAllah,
Wassim Hamidouche,
Olivier Déforges,
Safwan El Assad
Abstract:
Versatile video coding (VVC) is the next generation video coding standard developed by the joint video experts team (JVET) and released in July 2020. VVC introduces several new coding tools providing a significant coding gain over the high efficiency video coding (HEVC) standard. It is well known that increasing the coding efficiency adds more dependencies in the video bitstream making format-comp…
▽ More
Versatile video coding (VVC) is the next generation video coding standard developed by the joint video experts team (JVET) and released in July 2020. VVC introduces several new coding tools providing a significant coding gain over the high efficiency video coding (HEVC) standard. It is well known that increasing the coding efficiency adds more dependencies in the video bitstream making format-compliant encryption with the standard more challenging. In this paper we tackle the problem of selective encryption of the VVC standard in format-compliant and constant bitrate. These two constraints ensure that the encrypted bitstream can be decoded by any VVC decoder while the bitrate remains unchanged by the encryption. The selective encryption of all possible VVC syntax elements is investigated. A new algorithm is proposed to encrypt in format-compliant and constant bitrate the transform coefficients (TCs) together with other syntax elements at the level of the entropy encoder. The proposed solution was integrated and assessed under the VVC reference software model version 6.0. Experimental results showed that the encryption drastically decreases the video quality while the encryption is robust against several types of attacks. The encryption space is estimated in the range of 15% to 26% of the bitstream size resulting in a lightweight encryption process. The web page of this work is available at https://gugautie.github.io/sevvc/.
△ Less
Submitted 6 March, 2021;
originally announced March 2021.
-
Fast sampling from $β$-ensembles
Authors:
Guillaume Gautier,
Rémi Bardenet,
Michal Valko
Abstract:
We study sampling algorithms for $β$-ensembles with time complexity less than cubic in the cardinality of the ensemble. Following Dumitriu & Edelman (2002), we see the ensemble as the eigenvalues of a random tridiagonal matrix, namely a random Jacobi matrix. First, we provide a unifying and elementary treatment of the tridiagonal models associated to the three classical Hermite, Laguerre and Jacob…
▽ More
We study sampling algorithms for $β$-ensembles with time complexity less than cubic in the cardinality of the ensemble. Following Dumitriu & Edelman (2002), we see the ensemble as the eigenvalues of a random tridiagonal matrix, namely a random Jacobi matrix. First, we provide a unifying and elementary treatment of the tridiagonal models associated to the three classical Hermite, Laguerre and Jacobi ensembles. For this purpose, we use simple changes of variables between successive reparametrizations of the coefficients defining the tridiagonal matrix. Second, we derive an approximate sampler for the simulation of $β$-ensembles, and illustrate how fast it can be for polynomial potentials. This method combines a Gibbs sampler on Jacobi matrices and the diagonalization of these matrices. In practice, even for large ensembles, only a few Gibbs passes suffice for the marginal distribution of the eigenvalues to fit the expected theoretical distribution. When the conditionals in the Gibbs sampler can be simulated exactly, the same fast empirical convergence is observed for the fluctuations of the largest eigenvalue. Our experimental results support a conjecture by Krishnapur et al. (2016), that the Gibbs chain on Jacobi matrices of size $N$ mixes in $\mathcal{O}(\log(N))$.
△ Less
Submitted 4 March, 2020;
originally announced March 2020.
-
DPPy: Sampling DPPs with Python
Authors:
Guillaume Gautier,
Guillermo Polito,
Rémi Bardenet,
Michal Valko
Abstract:
Determinantal point processes (DPPs) are specific probability distributions over clouds of points that are used as models and computational tools across physics, probability, statistics, and more recently machine learning. Sampling from DPPs is a challenge and therefore we present DPPy, a Python toolbox that gathers known exact and approximate sampling algorithms for both finite and continuous DPP…
▽ More
Determinantal point processes (DPPs) are specific probability distributions over clouds of points that are used as models and computational tools across physics, probability, statistics, and more recently machine learning. Sampling from DPPs is a challenge and therefore we present DPPy, a Python toolbox that gathers known exact and approximate sampling algorithms for both finite and continuous DPPs. The project is hosted on GitHub and equipped with an extensive documentation.
△ Less
Submitted 12 August, 2019; v1 submitted 19 September, 2018;
originally announced September 2018.
-
Zonotope hit-and-run for efficient sampling from projection DPPs
Authors:
Guillaume Gautier,
Rémi Bardenet,
Michal Valko
Abstract:
Determinantal point processes (DPPs) are distributions over sets of items that model diversity using kernels. Their applications in machine learning include summary extraction and recommendation systems. Yet, the cost of sampling from a DPP is prohibitive in large-scale applications, which has triggered an effort towards efficient approximate samplers. We build a novel MCMC sampler that combines i…
▽ More
Determinantal point processes (DPPs) are distributions over sets of items that model diversity using kernels. Their applications in machine learning include summary extraction and recommendation systems. Yet, the cost of sampling from a DPP is prohibitive in large-scale applications, which has triggered an effort towards efficient approximate samplers. We build a novel MCMC sampler that combines ideas from combinatorial geometry, linear programming, and Monte Carlo methods to sample from DPPs with a fixed sample cardinality, also called projection DPPs. Our sampler leverages the ability of the hit-and-run MCMC kernel to efficiently move across convex bodies. Previous theoretical results yield a fast mixing time of our chain when targeting a distribution that is close to a projection DPP, but not a DPP in general. Our empirical results demonstrate that this extends to sampling projection DPPs, i.e., our sampler is more sample-efficient than previous approaches which in turn translates to faster convergence when dealing with costly-to-evaluate functions, such as summary extraction in our experiments.
△ Less
Submitted 15 June, 2017; v1 submitted 30 May, 2017;
originally announced May 2017.