VVC Codec Optimization through Complexity Reduction and Parallel Processing
Optimisation du Codec VVC basé sur la Réduction de Complexité et le Traitement Parallèle
Résumé
During the last decade, the progress in digital technologies has led to an important increase in the volume of exchanged video content. Finalized in July 2020, the new video coding standard Versatile Video Coding (VVC) developed by the ITU-T VCEG and ISO/IEC MPEG answers the need for higher coding performance. For the same video quality, VVC provides 40\% bit-rate savings over the latest state-of-the-art video codec High Efficiency Video Coding (HEVC). However, in order to obtain these bit-rate savings, computationally expensive tools have been added at both encoder and decoder sides.This document presents a set of contributions aiming at reducing efficiently the energy consumption and processing time of VVC codecs, while minimizing the coding quality losses. First, a lightweight and tunable block partitioning scheme based on a machine learning approach is proposed. The second contribution at the encoder side takes advantage of the high-level parallelism tools included in VVC, such as tile and slice parallelism. At decoder side, the computational complexity increase of VVC standard compared to HEVC is approximately a factor 2. A real-time and low-memory VVC decoder based on the open source openVVC project is proposed for Intra coding configuration.
Au cours de la dernière décennie, les progrès des technologies numériques ont conduit à une augmentation importante du volume de contenu vidéo échangé.Finalisée en juillet 2020, la nouvelle norme de codage vidéo Versatile Video Coding (VVC) développée par l'ITU-T VCEG et l'ISO/IEC MPEG répond au besoin de performances de codage plus élevées. Pour une même qualité vidéo, VVC permet d'économiser 40\% de débit par rapport au dernier codec vidéo High Efficiency Video Coding (HEVC). Toutefois, pour obtenir ces économies de débit, des outils complexes ont été ajoutés au niveau de l'encodeur et du décodeur.Ce document présente un ensemble de contributions visant à réduire efficacement la consommation d'énergie et le temps de traitement des codecs VVC, tout en minimisant les pertes de qualité du codage. Tout d'abord, un schéma de partitionnement en bloc léger et adaptable, basé sur une approche d'apprentissage machine, est proposé.La deuxième contribution, du côté de l'encodeur, tire parti des outils de parallélisme de haut niveau inclus dans VVC, tels que le parallélisme en tile et en slice. Du côté du décodeur, l'augmentation de la complexité de calcul de la norme VVC par rapport à la norme HEVC est d'un facteur 2 environ. Un décodeur VVC en temps réel et à faible mémoire, basé sur le projet openVVC open source, est proposé pour la configuration de codage Intra.
Origine : Version validée par le jury (STAR)