1. Accueil
  2. FR
  3. Étudier
  4. Offre de formation
  5. UE
INFO-H516

Visual Media Compression

année académique
2026-2027

Titulaire(s) du cours

Gauthier LAFRUIT (Coordonnateur)

Crédits ECTS

5

Langue(s) d'enseignement

anglais

Contenu du cours

La compression d’images est une technique indispensable pour la réduction de l’information à transmettre, et est la pierre angulaire dans le streaming fluide et sans délais de contenu vidéo (YouTube, télédistribution, etc). Elle permet également d’archiver plus de 100 fois plus de vidéos sur des serveurs sans pour autant compromettre notablement leur qualité.

Ce cours revisite principalement les normes ISO (« International Standardisation Organisation ») de compression d’images JPEG (« Joint Photographic Experts Group ») et de vidéos MPEG (« Moving Picture Experts Group ») - par exemple, YouTube, MPEG-4, MV-HEVC pour le DVD/Blu-ray et la vidéo spatiale d’Apple Vision Pro, le cinéma numérique utilisant du JPEG2000, etc - ainsi que la compression de représentations 3D (par exemple, « Draco » de Google) où la 3D est souvent transformée en images 2D, bien adaptées aux codecs vidéo mentionnés ci-dessus.

Malgré une grande progression dans les performances de compression au fil de ces 30 dernières années (un gain d’un ordre de grandeur, en allant de MPEG-4 AVC vers HEVC et finalement VVC), l’architecture de base d’un codec (= un codeur, dans le sens d’apporter une compression) reste assez semblable, cf. l'image ci-dessous [1], et c’est elle qui sera étudiée en détail : des exercices mettront en lumière les différents modules et métriques de performance d’un logiciel de base (bien plus simple que ce qu’on peut retrouver dans des logiciels tels ffmpeg et VLC, souvent utilisés dans le domaine). C’est un peu comme les moteurs thermiques de voitures qui fonctionnent toujours selon le même principe d’explosion contrôlée avec une transformation vers une rotation par des pistons (même si les premières voitures sautillaient probablement plus qu’elles ne roulaient), mais dont les performances ont augmenté à l’aide d’un peaufinage incessant au fil de plus d’un siècle d’ingénierie.

chaine de compression video

Le cours magistral d’INFO-H516 mettra en place tous les éléments du jargon et de l’écosystème de la standardisation en compression (le Sous-Comité SC29 de l’ISO) et de ses groupes de travail techniques (les « Working Groups » WG1 à WG8). Un code source de référence (un cas d'utilisation simple) sera mis à la disposition du groupe d’étudiant.e.s, et comme cela se fait dans toutes les activités SC29/WGxx (auxquelles le titulaire du cours a participé pendant plus de 2 décennies), les étudiant.e.s devront apporter des modifications à ce code pour en augmenter (légèrement) ses performances. Il s’agit donc d’un projet collaboratif mené par un chef de projet (technique) où chacun.e se concentrera sur des modifications logicielles précises à apporter afin d’atteindre un but collectif (même si le projet de 12h est annoncé comme « un projet personnel ») et dont une grande partie sera faite pendant les exercices. Cette approche très pratique (demandant un minimum de dextérité en programmation C/C++) est la meilleure façon de comprendre ce monde très particulier de la compression (où des concepts théoriques, comme la définition de l’entropie, n’apportent en pratique que peu de valeur ajoutée).

En parallèle aux exercices/projet, le cours magistral exposera différents variants de codecs - principalement AVC (« Advanced Video Codec »), HEVC (« High Efficiency Video Codec ») et JPEG2000 (codec Cinéma) - et leurs différences techniques afin que les participants puissent apprécier le pourquoi de toute cette famille de codecs « divers et variés » (malgré une architecture de base semblable). Cela mettra en lumière la difficulté de trouver sur internet des logiciels « tout en un » (ce que ffmpeg et VLC s’obstinent à atteindre) et pourquoi il faut souvent passer par des « bidouillages » dans l’utilisation de codecs récents (qui ne sont pas encore bien maitrisés/établis), comme le MV-HEVC (MultiView/stereo-HEVC) et ses extensions paramétriques dans le contexte de la « Vision Pro » d’Apple, cf. le cours INFO-H518.

Ce cours est donc une préparation pratique « les mains dans le cambouis » (avec un cas d'utilisation simple) pour tout un chacun et chacune qui voudrait se lancer dans le monde de la compression images/vidéo. C'est également une occasion unique d'apprécier le processus décisionnel technique qui est suivi dans ces comités de standardisation des médias numériques.

Objectifs (et/ou acquis d'apprentissages spécifiques)

Comprendre une chaine de traitement typique pour le codage d'image ou de vidéo, à partir du code source d'un codec très basique qui sera progressivement amélioré en ajoutant de nouvelles fonctionnalités, et en suivant le flux de travail des comités de normalisation JPEG/MPEG.

Pré-requis et Co-requis

Connaissances et compétences pré-requises ou co-requises

Les étudiants devraient bien maîtriser la programmation C/C++ (le Python pour certaines conversions de formats de données est également utile).

Méthodes d'enseignement et activités d'apprentissages

Comprendre une chaine de traitement typique pour le codage d'images ou de vidéo, à partir du code source d'un codec très basique, et en suivant le flux de travail de normalisation JPEG/MPEG. Les groupes d'étudiants atteindront de manière collaborative les objectifs du projet de compression, où l'utilisation de github (et d'un coordinateur logiciel) est recommandée (non obligatoire).

Références, bibliographie et lectures recommandées

[1] University Pompeu Fabra in Barcelona, « Video Encoding Systems » course online, last update 24 dec 2021https://video-encoding-course.vercel.app/theory/2-MPEG
[2] Iain E.G. Richardson, "H.264 and MPEG-4 video compression: video coding for next-generation multimedia," Wiley, 2003, ISBN 0-470-84837-5
[3] D. S. Taubman, M. W. Marcellin, "JPEG2000 – Image Compression Fundamentals, Standards, and Practice," Kluwer Academic Publishers, 2002.

Autres renseignements

Contacts

Pr. Gauthier Lafruit, LISA-VR

Campus

Solbosch

Evaluation

Méthode(s) d'évaluation

  • Projet
  • Examen oral
  • Rapport écrit

Projet

Examen oral

  • Examen à livre ouvert
  • Question ouverte à réponse courte
  • Question visuelle

Rapport écrit

Le rapport de projet doit être remis avant la période d'examen. L'examen oral comprend des questions ponctuelles sur le rapport, ainsi que des questions théoriques complémentaires. Bien que le projet soit réalisé en groupe, l'examen est individuel (le rapport peut toutefois être remis sous forme de rapport collectif).

Construction de la note (en ce compris, la pondération des notes partielles)

50% sur les questions du projet (et le rapport écrit), 50% sur les questions théoriques complémentaires.

Langue(s) d'évaluation

  • anglais
  • (éventuellement français, Néerlandais )

Programmes