(🇫🇷 French Version below 🇫🇷)
In order to study the different ways of compressing images, we looked at JPEG compression and I coded the different stages involved in encoding and decoding images.
To carry out this lab, I started by coding the functions that enable the various stages of JPEG compression to be carried out. Then I started by encoding black and white images: this allowed me to work on a single dimension and check that everything was working correctly.
Once this was done, I encoded the images in colour and chrominance.
After checking that the compression and decompression were both functional, I drew curves to highlight the compression ratio as a function of the quality factor, and thus prove that a chrominance image was much more practical for obtaining a higher compression ratio - especially as the relationship between an RGB image and a chrominance image is bijective.
Afin d’étudier les différents modes de compression d’images, nous avons étudié la compression JPEG et j’ai codé les différentes étapes qui permettent de réaliser l’encodage et le décodage d’images.
Afin de réaliser ce TP, j’ai commencé par coder les fonctions permettant de réaliser les différentes étapes de la compression JPEG. Puis, j’ai commencé par encoder des images en noir et blanc : cela permettait de travailler sur une seule dimension et de vérifier que tout fonctionnait correctement.
Une fois ceci réalisé, j’ai codé l’encodage pour des images en couleurs et en chrominance.
Après avoir vérifié que la compression et la décompression étaient tout deux fonctionnels, j’ai fait des tracés de courbes afin de mettre en avant le taux de compression en fonction du facteur de qualité, et prouver ainsi qu’une image en chrominance était bien plus pratique pour obtenir un plus grand taux de compression - d’autant plus que la relation entre une image RGB et une image en chrominance est bijective.