Normes de compression d’images

La norme ISO JPEG

La norme internationale JPEG (Joint Photographic Experts Group) [Wallace91], proposée par ISO (International Standardization Organization) est un format de compression avec pertes proposé en 1972 par Nasir Ahmed, et standardisé en 1992 par le Joint Photographic Experts Group. Ce format permet d’atteindre une compression de 10:1 avec quasiment aucune perte visuelle perceptible et est aujourd’hui encore le format d’image le plus répandu à travers le monde.

La première étape de la compression JPEG consiste au changement d’espace de couleur de l’image initiale (RVB le plus souvent) en un espace YCrCb. Le but de cette étape est que le format YCrCb propose une bien meilleure décorrélation des couleurs que le format RVB. Ceci est important dans la mesure où l’œil humain est beaucoup plus sensible au canal de Luminance Y qu’aux canaux de chrominances Cr et Cb (soit Chrominance Rouge et Chrominance Bleue). Cela permet aussi d’appliquer une procédure de sous-échantillonnage des images de chrominance dans une seconde étape. En effet, l’œil humain est moins sensible aux hautes fréquences qui apparaissent dans les signaux de chrominance. Ainsi, une perte importante d’information à ce niveau là reste relativement peu visible pour l’utilisateur. Par rapport à la manière dont l’échantillonnage est réalisé, trois modes de représentation différents sont retenus par la norme JPEG, notés par 4:4:4, 4:2:2 et 4:2:0 et explicités dans la suite. Dans le mode 4:4:4 (Figure 2.2), aucun canal n’est sous-échantillonné. Il est utilisé notamment lorsque l’information colorimétrique est considérée comme très importante pour le contenu et doit être entièrement préservée.

La DCT étant une opération complétement réversible (aux arrondis près), c’est à partir de l’étape de quantification que le processus devient « avec pertes ». La quantification proposée par JPEG est réalisée de manière adaptative par rapport à la fréquence spatiale des coefficients DCT. Pour cela, avant une quantification uniforme contrôlé par un paramètre global de quantification qglobal, on réalise au préalable une division des coefficients de la DCT par les coefficients d’une matrice de quantification.

JPEG 2000 

La norme JPEG2000 [JPEG2000] a vu le jour en 2000, avec l’avènement notamment des appareils photos numériques et avec la motivation de dépasser les contraintes techniques imposées par le format JPEG. En effet, à très bas débit, soit en dessous de 0.25 bpp (bits par pixel), le format JPEG ne propose pas une qualité acceptable. En outre, grâce à ses propriétés de scalabilité, la norme JPEG200 proposait également un cadre unifié pour la compression avec ou sans pertes.

Les coefficients de la transformée sont quantifiés par un quantifieur scalaire uniforme à zone morte [Yu04]. Chaque sous-bande est ensuite divisée en blocs rectangulaires appelés codeblocks. Chaque codeblock est décomposé/quantifié en plans binaires, et encodé par la technique dite “Embeded Block Coding with Optimized Truncation” (EBCOT) [Baarir11]. Les performances de la norme JPEG2000, surpassent amplement celles de JPEG en termes de qualité visuelle et d’efficacité de compression. Néanmoins, son utilisation commerciale a été pénalisée par les droits de propriété intellectuelle associés aux technologies normatives considérées, qui en font, de facto, un standard payant.

Le format WebP 

WebP [WebP] est un format de compression d’images représentant la partie « intra » (still picture) du VP8 [Bankoski11], codec vidéo propriétaire développé par Google. Il s’agit d’un codec reprenant le schéma classique de JPEG, avec prédiction spatiale et transformation des erreurs de prédiction par DCT .

Les coefficients des résidus de prédiction sont transformés par DCT, puis quantifiés et enfin encodés par un codeur arithmétique binaire avec contextes (Context-adaptive binary arithmetic coding – CABAC) [Marpe03]. Notons ici qu’une différence majeure est présente par rapport au JPEG. Il s’agit de l’étape dite de prédiction spatiale, dont le principe consiste à estimer la valeur d’un pixel courant à partir d’un ensemble donné de pixels déjà codés, situés dans un voisinage causal par rapport à un ordre donné de parcours de l’image .

Cette étape de prédiction spatiale permet de décorréler davantage le signal image, ce qui réduit de manière considérable la quantité d’information à coder et à transmettre. En pratique, prédire avec précision ces pixels est trop compliqué, voire impossible. Néanmoins, il est tout à fait possible de ne transmettre que la différence entre la valeur réelle du pixel et la valeur prédite, appelée erreur de prédiction. Cette erreur de prédiction est caractérisée par la décorrélation de ses échantillons ainsi que par une plage de valeur fortement concentrée autour d’une valeur nulle, d’entropie beaucoup plus faible que celle du signal d’origine. Ce ne sont néanmoins pas directement les erreurs de prédiction qui seront transmises. En effet, un gain supérieur est possible si ces erreurs de prédiction sont transformées par DCT. Ce sont alors les coefficients DCT des erreurs résiduelles de prédiction qui sont quantifiés et finalement codés binairement à l’aide du codeur arithmétique CABAC. Une autre différence majeure entre les schémas de compression WebP et JPEG concerne le découpage en blocs. Dans le cas de WebP, on abandonne la technique simpliste de partition de l’image en blocs de taille fixe, en faveur d’une partition en blocs de tailles variables, adaptés aux contenus de l’image. Ainsi, des régions adjacentes présentant une certaine homogénéité pourront figurer plus facilement au sein du même bloc à traiter, rendant la compression beaucoup plus efficace. De la même manière, si deux régions adjacentes n’ont rien à voir entre elles, la probabilité qu’elles soient traitées ensemble, et donc qu’elles bénéficient d’une prédiction peu pertinente, se voit fortement réduite. WebP supporte 3 types de macroblocs : (4×4) et (16×16) Luma (i.e., le signal de luminance) et (8×8) Chroma (pour les deux signaux de chrominance correspondant à l’espace de couleurs YUV). Il possède également 10 modes de prédictions différents. Parmi ces 10 modes, 4 sont partagés entre les 3 types de macroblocs retenus : vertical, horizontal, DC et TrueMotion-TM (Figure 3). Les 6 autres ne concernent que les blocs (4×4) Luma. Ces opérations sont effectuées sur des macroblocs de taille allant de (4×4) à (16×16) pixels.

Le format BPG

Le format BPG (Better Portable Graphic) [BPG] est un format crée en 2014 par Fabrice Bellard. Il représente la partie intra du codec vidéo MPEG-4 HEVC/H.265 [Sullivan12], créé en 2012. En plus d’utiliser exclusivement cette partie intra, BPG remplace le header de HEVC par un header bien plus compact de seulement 4 octets. Le format BPG offre une très nette amélioration de performances de compression par rapport à ses prédécesseurs. Il n’est en revanche que très peu utilisé en raison de sa non-gratuité, due aux brevets déposés sur HEVC, et plus particulièrement sur l’encodeur x265 [x265] qui se trouve être une partie intégrante de l’implémentation de BPG.

Les blocs obtenus sont finalement divisés à leur tour dans des blocs pouvant supporter l’application de différentes transformées, appelés TB (Transform Blocs), et ayant des tailles allant de (4×4) à (32×32) pixels pour le Luma, et de (8×8) à (32×32) pixels pour le Chroma. La partition en TB suit une structure de quadtree [Samet84], déterminée à l’aide d’un algorithme d’optimisation débitdistorsion (RDO – Rate Distortion Optimization) [Sullivan98].

AVIF (AV1 Still Image Format)

AV1 Chen18 est un codec vidéo ouvert et libre de droits, sorti officiellement le 28 mars 2018 par AOMedia, l’Alliance for Open Media (www.aomedia.org). De grands acteurs d’internet comme Youtube ou Netflix ont déjà annoncé leur intention de transcoder leurs contenus dans le format AV1. Sa prise en charge par tous les navigateurs a été annoncée pour 2019, et en 2020 sont attendues les premières implantations hardware (Intel ayant également participé au développement de AV1). Comme pour ses prédécesseurs, un format d’image fixe (AVIF) représentant la partie intra de AV1 a été développé et spécifié en version 1.0 en février 2019. La différence majeure entre BPG et AVIF, à très bas débit, concerne le temps d’encodage en AVIF (plusieurs secondes), qui est bien plus important que celui de BPG (quelques millisecondes). AV1 reste techniquement exactement dans la même lignée que ses prédécesseurs (VP8-9) dont il s’inspire, en proposant un algorithme fondé sur une répartition en blocs.

De nombreux modes de prédiction ont aussi été ajoutés. Ainsi, pour la partie intra, un nombre de 56 modes de prédiction directionnelle sont utilisés. L’ancien mode « True Motion » de VP8/9 a été remplacé par un mode Paeth Predictor. Enfin, des modes de type Smooth Predictors, dont la prédiction est effectuée en réalisant une somme pondérée par interpolations quadratiques des pixels de référence, ont été également ajoutés. Ces Smooth Predictors sont particulièrement efficaces sur les blocs contenant des gradients de valeurs relativement légers.

Évaluation comparative préliminaire

Pour cette évaluation préliminaire, nous avons utilisé le bien connu corpus Kodak [Kodak], qui propose 24 images de très bonne qualité représentées en « true color » (24 bpp). Pour l’heure, nous n’avons pas retenu les mesures de qualité traditionnelles comme le PSNR (Peak Signal to Noise Ration) ou SSIM (Structural Similarity) [Zang04]. Ce choix s’appuie sur le fait que, d’une part, ces mesures ne semblent plus être adaptées aux nouveaux formats et techniques de compression, comme expliqué dans [Wang09][Lin11][Chikkerur11]. D’autre part, ce genre de type de comparaison a déjà été réalisé de nombreuses fois auparavant [Harikrishnan17 [WyohKnott], ces dernières mettant aussi BPG et AV1 comme état de l’art.

En outre, un protocole plus rigoureux visant à déterminer la qualité de nos travaux sera mis en place ultérieurement, la métrique utilisée étant le Mean Opinion Score (MOS) [Huynh Thu10]. Ce type de protocole étant régit par des normes internationales, possède de nombreuses contraintes comme l’environnement de visualisation. Concernant le nombre de personnes à convier pour ce protocole, les normes recommandent un panel de minimum 15 personnes.

Le rapport de stage ou le pfe est un document d’analyse, de synthèse et d’évaluation de votre apprentissage, c’est pour cela chatpfe.com propose le téléchargement des modèles complet de projet de fin d’étude, rapport de stage, mémoire, pfe, thèse, pour connaître la méthodologie à avoir et savoir comment construire les parties d’un projet de fin d’étude.

Table des matières

Chapitre 1. Introduction
Chapitre 2. Normes de compression d’images : état de l’art
2.1 La norme ISO JPEG
2.2 JPEG 2000
2.3 Le format WebP
2.4 Le format BPG
2.5 AVIF (AV1 Still Image Format)
2.6 Évaluation comparative préliminaire
2.7 Amélioration de la norme BPG : état de l’art
2.7.1 Réduction de la complexité
2.7.2 Réduction du débit
2.7.3 Approches par machine learning (ML)
2.8 Discussion
Chapitre 3. Compression par techniques d’apprentissage profond
3.1 Machine learning, deep learning et réseaux de neurones convolutifs
3.1.1 Machine et deep learning
3.1.2 Apprentissage par réseaux de neurones profonds (deep learning)
3.1.3 Application aux images : les Réseaux de Neurones Convolutifs
3.1.4 Fonctions de pertes pour la compression d’image
3.2 Super-Résolution
3.3 Réduction d’artéfacts
3.3.1 Types d’artéfacts
3.3.2 Deep learning et réduction d’artéfacts
3.4 Ré-colorisation
3.5 Premier pipeline envisagé
3.6 Premiers tests
Chapitre 4. Réseaux GAN et compression : état de l’art
4.1 Réseaux GAN (Generative Adversarial Networks) : définition et principe
4.2 Compression générative par réseaux GAN
4.3 GAN et réduction d’artéfacts
4.4 Super-résolution avec réseaux GAN
4.5 Discussion et travaux futurs sur la compression par GAN
Chapitre 5. Compression par réseaux GAN (Generative Adversarial Networks)
5.1 Approche naïve : SRGAN pré-entrainé et compression BPG
5.2 Reconstruction ×4 par SRGAN
5.3 Reconstruction ×2 par SRGAN
5.4 Réduction d’artéfacts de compression par SRGAN : Reconstruction ×1
5.5 ESRGAN et compression d’image
5.5.1 Du SRGAN au ESRGAN
5.5.2 Utilisation du ESRGAN : aspects pratiques
5.5.3 Reconstruction ×4 par ESRGAN
5.5.4 Reconstruction ×2 par ESRGAN
5.5.5 Reconstruction ×1 par ESRGAN
5.5.6 Conclusion
Chapitre 6. Évaluation expérimentale
6.1 Évaluation de la Reconstruction ×1_43 par SRGAN
6.2 Évaluation de la Reconstruction ×2 par ESRGAN
6.3 Évaluation de la Reconstruction ×1_gen par ESRGAN avec perte L1 pure
Chapitre 7. Application à la problématique des images avec texte
7.1 Solution de compression adaptative proposée
7.2 Validation expérimentale
Chapitre 8. Conclusion et perspectives
Chapitre 9. Références
Chapitre 10. Annexes

Rapport PFE, mémoire et thèse PDFTélécharger le rapport complet

Télécharger aussi :

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *