COMPRESSION JPEG Joint Photographic Expert Group 1 INTRODUCTION

































































- Slides: 65

COMPRESSION JPEG Joint Photographic Expert Group 1

INTRODUCTION Prenons un exemple simple d’une image en niveaux de gris de format standard 768× 576 (définition d’images utilisée dans les DVD en standard PAL 1) avec 8 bits par pixel. La taille de cette image sera donc égale à 432 koctets. Si l’image est en couleur, sa taille sera pratiquement trois fois plus volumineuse. Qu’en sera-t-il des images numériques avec des résolutions beaucou plus élevée à l’instar des HD, 4 K et 8 K ? Combien d’images de ce type nous arriverons donc à stocker dans les mémoires de nos caméras ? Quel est la durée nécessaire pour transmettre ces images à travers une connexion internet avec un débit pas assez élevé ? 1 PAL: Phase Alternating Line est un des trois principaux standards historiques de codage de la 2 couleur utilisés lors de la radiodiffusion d'un signal vidéo analogique.

INTRODUCTION Ceci, nous a obligé à faire appel à la compression d’images et surtout à une compression avec perte. Il s’agit essentiellement d’un compromis à satisfaire : Débit/distorsion C’est-à-dire que cherche à réduire le débit nécessaire pour une image tout en maintenant un niveau de distorsion tolérable. Que doit on alors exploiter pouvoir compresser et répondre à ce compromis ? 3

INTRODUCTION Les pixels voisins d’une même image sont souvent fortement corrélés. Nous serons donc logiquement tentés d’exploiter cette redondance intraimage. Mais comment ? q directement dans le domaine spatial? q ou bien dans un domaine transformé? 4

NORME JPEG Parmi les normes de compression d’images fixes les plus connues et les plus utilisées de nos jours : JPEG : Joint Photographic Expert Group. C’est un comité d’experts qui édite des normes de compression pour l’image fixe. La norme communément appelée JPEG, son vrai nom est ISO/CEI 10918 -1 UITT Recommendation T. 81, Travaux ont commencé en 1986 Spécifiée en 1991 et adoptée en 1992 Appliquée pour des images couleurs ou en Niveaux de gris Modes : Séquentiel, sans perte, progressif, hiérarchique …etc Format d’images 768× 576 Débit : de 8 Mbps à 40 Mbps 5

NORME JPEG Officiellement, la norme JPEG est désignée par : ISO/IEC JTC 1/SC 29/WG 10 q ISO: International Organization for Standardization q. IEC : International Electrotechnical Commission q. JTC 1 : Joint ISO/IEC Technical Committee (Information Technology) q. SC 29 : Subcommittee 29 (Coding of Audio, Picture, Multimedia and Hypermedia Information) q. WG 10 : Working Group 10 (JBIG, JPEG) JBIG (Joint Bi-level Image Experts Group) : une norme pour la compression d'une image à deux niveaux, une image dans laquelle un seul bit est utilisé pour exprimer la valeur de couleur de chaque pixel. Cette norme peut également être utilisée pour coder des images en niveaux de gris et des images en couleur avec un 6 nombre limité de bits par pixel.

NORME JPEG est une norme de compression basée sur la DCT et utilise donc le principe de Compression par transformée. Image Transformation Quantification Codage entropique 111010010010 …. . Schéma générale de compression d’image par transformée

JPEG d’images Introduction. NORME à la compression Principe d’une compression basée sur la transformation Changement d’espace de représentation DCT 2 D 8 8 Changement d’espace de représentation Compression sans pertes Quantification Codage entropique Codeur Stockage ou transmission Décodeur Transformation inverse Déquantification Décodage entropique

NORME JPEG • La plupart de l’information d ’une image est à basse fréquence. • Les codeurs de transformation préservent les informations à basse fréquence. • On ignore les petits coefficients dans la plage des fréquences. – But: – Réduire la largeur de bande; – Ne dégrade pas trop la qualité de l’image. 9

NORME JPEG • La transformée de Fourier génère des composantes imaginaires. • La transformée cosinusoïdale directe discrète 2 D (DCT) est très populaire en imagerie. – Pas de composantes imaginaires à traiter. – Est appliquée sur des blocs d’image de 8 x 8. 10

RAPPELS SUR LA DCT • Équation: – x, y: position du pixel; – u, v: position de la composante du spectre; • de 0 à 7. – f(x, y): amplitude du pixel. 11

RAPPELS SUR LA DCT INVERSE • Équation: – x, y: position du pixel; – u, v: position de la composante du spectre; • de 0 à 7. – F(u, v): amplitude de la composante. 12

DECOUPAGE EN BLOCS 8 8 Pourquoi l’image originale est découpée en blocs 8 8 avant d’appliquer les DCT 2 D ? Pour deux raisons essentielles : 1. Le temps de calcul : la DCT consomme approximativement 60% du temps d’exécution d’un codeur JPEG. Réduire la complexité de la DCT permet de réduire le temps de calcul du JPEG. Or, nous savons que la complexité de calcul d’un algorithme rapide de la DCT augmente rapidement avec la taille de l’image. Autrement dit, le calcul de M blocs de tailles 8 8 formant une image est beaucoup plus rapide que de calculer la DCT 2 D de toute l’image. 2. La DCT comme la TFD permet de détecter les composantes fréquentielles présentes dans l’image sans pour autant les localiser dans l’espace. Une image naturelle est par définition non-stationnaire mais un bloc de 8 8 pixels est homogène (stationnaire). Sa DCT définit alors les composantes présentes dans tout le bloc. 13

NORME JPEG • Schéma de traitement - compression : Image Séparée en blocs de 8 x 8 Image encodée DCT Quantificateur Plus de bits à base fréquence Codeur de Huffman Codeur de coefficient Compression de l’image 14

NORME JPEG • Transformée DCT: Basses fréquences hautes fréquences 15

NORME JPEG • Quantification : – Calcul de la quantification: – Matrice de quantification: Q = 6 9 12 15 18 21 24 27 30 33 36 18 21 24 27 30 33 36 39 42 45 48 16

NORME JPEG Basé sur des expériences de seuillage psychovisuel deux tables de quantification sont recommandées (ci-dessous). La première pour la luminance et la seconde pour la chrominance. En effet, l’œil humain est plus sensible aux basses fréquences (u et v faibles proches de 0) qu'aux hautes fréquences (u et v élevés proches de 7). 17

NORME JPEG • Quantification : Plein de 0 18

NORME JPEG • Codeur de coefficients (codage entropique): – Mise en ordre des composantes 19

NORME JPEG • Codeur de coefficients (codage entropique): – Codage du niveau DC des blocs successifs – La différence prend moins de bits. . . 20

NORME JPEG • Codeur de coefficients (codage entropique): – Symbolisation des composantes AC: • « longueur » = nombre de 0 successifs (de 0 à 15); • « taille » = nombre de bits requis pour l’amplitude; • « amplitude » = amplitude de la composante AC. » Complément à 1. 21

NORME JPEG • Codeur de coefficients (codage entropique): – Symbolisation des composantes AC: • Exemple: (6, 2)(3) – Amplitude = 3 requiert 2 bits – Taille = 2 – 6 zéros de suite avant la valeur 3 – Donc X, 0, 0, 0, 3 – Économie de 46 bits (10 bits au lieu de 56) 22

NORME JPEG • Codeur de coefficients (codage entropique): – Symbolisation des composantes AC: • Que faire si plus de 15 zéros de suite. • Code (15, 0) = 16 zéros de suite; » 8 bits au lieu de 128 • (15, 0)(15, 0)=48 zéros de suite. • (0, 0) = fin du bloc (il ne reste que des 0). 23

NORME JPEG • Codeur de coefficients (codage entropique): – Symbolisation des composantes DC: • Premier bloc: – amplitude réelle de la composante DC; • Ensuite: – amplitude de l’écart de la composante DC avec celle du bloc précédent. 24

NORME JPEG • Codeur de coefficients (codage entropique): – Symbolisation des composantes DC: • Exemple: – (7)(100) … bloc 1 … (2)(4) … bloc 2 … (3)(-5) … bloc 3 … – Composantes DC » Bloc 1 = 100; » Bloc 2 = 104; » Bloc 3 = 99. – Économie de 9 bits (12 bits au lieu de 21 ou même 24) 25

NORME JPEG • Codeur de coefficients (codage entropique): 26

NORME JPEG • Codeur de coefficients (codage entropique): • Valeur DC précédente = 12 (2)(3), (1, 2)(-2), (0, 1)(-1), (2, 1)(-1), (0, 0) 512 bits 8 64 bits 27

NORME JPEG • Codeur de Huffman (codage entropique): – Fréquence des symboles-1 ( moins l ’amplitude) 28

NORME JPEG • Codeur de Huffman (codage entropique): – Arborescence des symboles-1 0 1 (0, 1) 1 (2) 1 0 (0, 0) 0 1 (1, 2) 0 (2, 1) 29

NORME JPEG • Codeur de Huffman (codage entropique): – Fréquence des symboles-1 sans l’amplitude 30

NORME JPEG • Codeur de Huffman (codage entropique): (2)(3), (1, 2)(-2), (0, 1)(-1), (2, 1)(-1), (0, 0) 64 bits 01111001011010 100000010 2. 78 23 bits Si on ne regarde pas la table de Huffman qu’il faut aussi transférer, on a compressé de 512 à 23 bits 31

NORME JPEG • Schéma de traitement - décompression : Image IDCT Quantificateur inverse Pareille ou non à l’image source, selon la qualité de l’encodage ou du décodage Image encodée Décodeur de Huffman Décodeur de coefficient Décompression de l’image 32

NORME JPEG EXEMPLE D’UN CODAGE JPEG 33

EXEMPLE JPEG • Pizza: 34

EXEMPLE JPEG • Pizza 35

EXEMPLE JPEG • Sans compression: 8 x 8 bits = 512 bits • En plus, si 3 couleurs (RGB) – donc 1536 bits. • Étape #1 inutile, car déjà bloc de 8 x 8. 36

EXEMPLE JPEG • Étape #2 : DCT 37

EXEMPLE JPEG • Étape #3 : Quantification (matrice Q) 38

EXEMPLE JPEG • Étape #3 : Quantification 39

EXEMPLE JPEG • Étape #4 : Codage entropique (6)(33) (2, 6)(-37) (1, 6)(-37) (6, 4)(-11) 40

EXEMPLE JPEG • Étape #4 : Codage entropique (8, 1)(-1) (1, 4)(8) (1, 1)(-1) 41

EXEMPLE JPEG • Étape #4 : Codage entropique (11, 3)(7) (10, 2)(-2) (1, 2)(-2) (6, 3)(-5) (0, 0) 42

EXEMPLE JPEG Exemple • Codage de Huffman - fréquence des codes: – 1 fois: • (6), (2, 6), (1, 6), (6, 4), (8, 1), (11, 3), (10, 2), (1, 2), (6, 3), (0, 0) – 2 fois: • (1, 4) 43

EXEMPLE JPEG • Codage de Huffman - arborescence: 44

NORME JPEG Attention, l ’amplitude n’est pas dans les coefficients de Huffman • Codage de Huffman : Coeff. et ampl. (6)(33) 011 100001 (2, 6)(-37) 0101 011011 (1, 6)(-37) 0100 011011 (6, 4)(-11) 00111 0101 45

EXEMPLE JPEG • Codage de Huffman : (8, 1)(-1) 00110 0 (1, 4)(8) 1 1000 (1, 1)(-1) 00101 0 46

EXEMPLE JPEG • Codage de Huffman : (11, 3)(7) 00100 111 (10, 2)(-2) 00011 01 (1, 2)(-2) 00010 01 (6, 3)(-5) 00001 011 (0, 0) 00000 47

EXEMPLE JPEG • Donc, le message tient dans 95 bits. – Compression de 5. 38 x. • Il faut quand même inclure la table et l’arborescence dans le message. – Ce qui diminue le taux de compression 48

EXEMPLE JPEG • À la réception, – on reconstitue la matrice de l’image quantifiée – on dé-quantifie l’image – on fait la IDCT. 49

NORME JPEG Exemple • Pizza reçue: 50

Evaluation de la qualité JPEG Comme pour la majorité des méthodes de compression avec perte, nous utilisons plusieurs métriques et critères afin d’évaluer les performances de la méthode JPEG MOS : Mean Opinion Score Il s'agit de tests globaux des systèmes de traitement d’images faits par sondage auprès d’un public. L'évaluation est donc subjective et gérée statistiquement. Note Signification 5 Défauts imperceptibles 4 Défauts tout juste perceptibles 3 Défauts perceptibles mais pas gênants 2 Défauts perceptibles et un peu gênants 1 Défauts perceptibles et gênants 0 Défauts perceptibles et très gênants

Evaluation de la qualité JPEG EQM ou MSE Calcul de l’Erreur Quadratique Moyenne (EQM ou MSE(mean square error)) ; traitement statistique sur toute l’image permettant de donner une « métrique » (évaluation objective) pour évaluer des algorithmes. RMSE est la racine carrée de l’erreur quadratique moyenne (Root Mean Square Error) Evaluation de qualité entre : • une image source I (de taille M*N) et • une image résultante Î (de même taille) MSE =

Evaluation de la qualité JPEG PSNR On emploie souvent le rapport signal-à-bruit, notée PSNR (Peak Signal-to. Noise Ratio) : L : nombre d’échelons de Luminance (255 pour 8 bits) Une valeur de PSNR inférieure à 30 d. B traduit généralement une image présentant des dégradations perceptibles ; le PSNR est l'évaluation la plus couramment utilisée.

Evaluation de la qualité JPEG SSIM : Structural Similarity Index ; le principe est d'évaluer la dégradation en fonction du contexte local du défaut ; il est fait une pondération de 3 paramètres : Luminance, Contraste et Contours :

Evaluation de la qualité JPEG Comparaison des performances du JPEG par rapport à d’autres méthodes et normes de compression d’images en termes de PSNR vs bpp. JPEG possède effectivement des performances relativement moindres en termes de PSNR. Mais son plus grand avantage est qu’elle possède une complexité calculatoire faible et elle est dotée d’un algorithme rapide pour le calcul de la DCT. 55

JPEG POUR LES IMAGES COULEURS Schéma de principe d’une compression JPEG des images couleurs 56

JPEG POUR LES IMAGES COULEURS Pour les images en couleur l’algorithme JPEG commence d’abord par décomposer l’image couleur en RVB (les composantes fondamentales. Ensuite, il la représente dans un autre espace colorimétrique plus adaptée à savoir YCb. Cr et plus précisément Y'Cb. Cr. Y (ou Y’) étant la composante luminance de l’image et Cb. Cr les deux composantes chrominances. Le modèle colorimétrique Y'Cb. Cr permet en effet de réduire la taille d'une image. Cette réduction se base sur la constatation suivante : l'œil humain est plus sensible à la luminance qu'à la chrominance. Il est par conséquent possible de dégrader la chrominance d'une image tout en gardant une bonne qualité. Ceci, en sous échantillonnant les composantes Cr et Cb par rapport à Y (ou Y’). Nous avons plusieurs format d’échantillonnage des images couleurs. 57

JPEG POUR LES IMAGES COULEURS Schéma détaillé d’une compression JPEG des images couleurs 58

JPEG POUR LES IMAGES COULEURS Exemple : Passage du modèle colorimétrique RVB à Y’Cr. Cb 59

JPEG POUR LES IMAGES COULEURS Formats d’échantillonnage des images couleurs Parmi les formats d’échantillonnage des images couleurs nous avons: 4 -4 -4 : Ici le même nombre d’échantillons pour les trois composantes YCr. Cb 4 -2 -2 : Un échantillon sur deux par ligne contient uniquement Y 4 -2 -0 : Un échantillon sur deux par ligne contient uniquement Y et une ligne sur deux contient uniquement que Y 4 -1 -1 : Un échantillon sur quatre par ligne contient uniquement Y Le format CCIR 601, ou ITU-R BT 601 et REC. 601 fut défini par le CCIR. Dans ce format l’image est en 4 -2 -2 60

NORME JPEG Exemple de compression d’image 61

NORME JPEG Exemple de compression d’image 62

NORME JPEG Exemple de compression d’image 63

ORGANISATION DU FLUX BINAIRE JPEG "scan" = une passe sur tous les pixels, "segment" = groupe de blocs, "bloc" = 8 x 8 de pixels. 64

AUTRES MODES DE JPEG 65