100
CODAGE DES IMAGES Images télés Format JPEG Format MPEG 1 Cours #11 - GPA787

Codage des images

  • Upload
    liana

  • View
    45

  • Download
    2

Embed Size (px)

DESCRIPTION

Cours #11 - GPA787. Codage des images. Images télés Format JPEG Format MPEG. Les images télés. Largeur de bande requise pour la télé: Résolution de l ’image: National Television Systems Committee – NTSC (Canada, U.S.A, Mexique, Pérou, Japon) - PowerPoint PPT Presentation

Citation preview

Page 1: Codage des images

1

CODAGE DES IMAGESImages télésFormat JPEGFormat MPEG

Cours #11 - GPA787

Page 2: Codage des images

2

Les images télés

Largeur de bande requise pour la télé: Résolution de l ’image:

National Television Systems Committee – NTSC(Canada, U.S.A, Mexique, Pérou, Japon)

484 x 427 pixels, fréquence de trame de 29.94 Hz Phase Alternating Line – PAL(U.K, Allemagne, Espagne, Italie, Inde,

Australie…) 580 x 425 pixels, fréquence de trame de 25 Hz

Séquentiel Couleur À Mémoire – SECAM(France, URSS)

Page 3: Codage des images

3

Les images télés

Largeur de bande requise pour la télé: L’écran à un rapport largeur-hauteur de

4:3. Les trames sont entrelacées.

Page 4: Codage des images

4

Les images télés

Largeur de bande requise pour la télé: Largeur de bande en noir et blanc:

NTSC:

PAL:

Deux pixels par sinus

Bpixels p ixels H z

MH zNTSC

4 8 4 4 2 7 2 9 9 4

23 1

..

Bpixels p ixels H z

MH zPAL

5 8 0 4 2 5 2 5

23 1.

Page 5: Codage des images

5

Les fréquences utilisées (VHF) Largeur de bande d’un

canal de télé (noir et blanc):

Page 6: Codage des images

6

Les images télés couleurs

Image couleur: 3 couleurs de base sont requises pour obtenir

une reproduction acceptable à l’œil. Les trois couleurs sont:

Le rouge; Le bleu; Le vert.

D’où le standard RGB.

Les autres couleurs sont obtenues par combinaison de couleurs: Jaune = Rouge + Vert.

Page 7: Codage des images

7

Problème de bande passante L’arrivée de la télévision en couleur

soulève des problèmes techniques (1er octobre 1967).

1) On a trois fois plus d’information à passer dans la même bande de 6 MHz. Car 3 couleurs

2) Il faut que les télés en noir et blanc continuent à fonctionner, donc le signal doit rester accessible à ces télés.

Page 8: Codage des images

8

Description de la couleur en télé La luminance:

Correspond à la vivacité de la couleur; C’est en fait l’intensité de la couleur;

Désigné en anglais par le mot : brightness;

Page 9: Codage des images

9

Description de la couleur en télé La chrominance:

Est constituée de deux parties: La nuance et la saturation.

Désigne la couleur de l’image. Une des composantes est la différence entre le bleu et la luminance. L’autre désigne la différence entre le rouge et la luminance.

Cet espace représente mieux ce qui se passe au niveau de l’œil humain.

Page 10: Codage des images

10

Les images télés couleurs

Espace des couleurs:

Luminance = hauteur (Z).

Page 11: Codage des images

11

L’œil humain, un capteur imparfait

Réponse du capteur de couleur (œil):

En théorie : le blanc = 33.3% de chaque couleur.

En réalité : le blanc = 59% vert + 30 % rouge + 11 % bleu

Page 12: Codage des images

12

Les images télés couleurs

Relation avec le R-G-B : Luminance Y: (vivacité de la

couleur(brightness)) Contient toute l’information pour les télés

monochromes.

Chrominance: (Nuance + saturation) Transmission de ER-EY et de EB-EY.

E E E EY R G B 0 3 0 0 5 9 0 11. . .

E E E t E E tC R Y s B Y s co s sin

Page 13: Codage des images

13

Autre représentation

Luminance Y, Chrominance U et V.

0.229 0.587 0.114

( )0.436

(1 0.114)

( )0.615

(1 0.299)

R G B

B

R

Y E E E

E YU

E YV

Page 14: Codage des images

14

Autre représentation

Luminance Y, Chrominance U et V.

0.29900 0.58700 0.11400

0.14713 0.28886 0.43600

0.61500 0.51498 0.10001

1 0 1.13983

1 0.39465 0.58060

1 2.03211 0

R

G

B

R

G

B

Y E

U E

V E

E Y

E U

E V

Page 15: Codage des images

15

Les images télés couleurs

Largeur de bande de la télé couleur :

Page 16: Codage des images

16

Les images télés couleurs

Représentation vectorielle de la couleur :

Page 17: Codage des images

17

Les images télés couleurs

Luminance: (vivacité de la couleur « Z ») (brightness) 64 128 192

Axes x et y : Chrominance.

Page 18: Codage des images

18

Les images télés couleurs

Par toutes ces astuces, on réussi à maintenir une largeur de bande de 3.1 MHz plutôt de 9.3 MHz.

Donc en tenant compte de Nyquist, on reste à 6 MHz de largeur de bande réelle.

Page 19: Codage des images

19

Les images télés numériques

Quelles seraient les conséquences de traiter les mêmes images numériquement ? Si image noire et blanc sans gris:

Si image avec couleur (niveau de gris : on divise par 3):

8 bits par couleur Qualité supérieure au NTSC si on ne compresse pas.

4 8 4 4 2 7 2 9 9 4 6 2 . . Mpixels s

4 8 4 4 2 7 2 9 9 4 2 4 1 4 9 . Mbits s

Page 20: Codage des images

20

Quantités de données élevées

Largeur de bande requise sans compression est très élevée.

Quantités de données pour une image élevée:

À mettre à jour 30 x par seconde.

Imaginez avec les TV HD actuelles…

4 8 4 4 2 7 2 4

86 2 0

koctets im age

Page 21: Codage des images

21

Nécessité de compresser les données

De par les limites des bandes de fréquences allouées, on ne peut transmettre d’aussi grandes quantités d’information.

Il faut trouver un moyen de réduire la tailles des données.

Page 22: Codage des images

22

Nécessité de compresser les données

Première idée: Le contenu fréquentiel d’une image est

principalement dans les basses fréquences. Au lieu de transmettre l’image elle-même

pourquoi ne pas transmettre son spectre fréquentiel en 2D.

A première vue, pas de gain, car une image 8 x 8 aura un spectre en fréquence de taille 8 x 8.

Solution: sacrifier les hautes fréquences par une quantification des données. Un grand nombre de 0 apparait dans le spectre.

Page 23: Codage des images

23

Nécessité de compresser les données

Deuxième idée: On peut sacrifier de l’information du coté

de la chrominance, mais pas du coté de la luminance.

Page 24: Codage des images

24

Nécessité de compresser les données

Deuxième idée: On peut sacrifier de l’information du coté

de la chrominance, mais pas du coté de la luminance.

Le standard YUV a été établi sur cette observation.

Du point de vue de l’œil humain, la chrominance à moins d’impact que la luminance.

Solution: Le spectre de l’image qui sera transmit peut être basé sur l’espace YUV plutôt que le RGB. On sous échantillonne la chrominance

(moyenne de 4 pixels adjacents).

Page 25: Codage des images

25

Nécessité de compresser les données

Troisième idée: Il y a beaucoup de 0 dans le spectre en

fréquence. Ainsi, si on code la séquence suivante:

… 0 0 0 0 0 0 0 12 … …qui exige 8x8=64 bits avec:

(7,4) 0x1100 …qui n’exige que 1x8+4 = 12 bits. Solution: Utilisation du codage

entropique pour réduire la taille des données.

Page 26: Codage des images

26

Nécessité de compresser les données

Quatrième idée: Une fois le codage entropique fait, il y aura

beaucoup de symboles (x,y) identiques. Par exemple on peut coder la séquence suivante:

… anticonstitutionnellement … …qui exige 25x8=200 bits avec la séquence binaire:

… 0x0011111100110011000101100000110011100000001 00110010111101000010001010000010101110 …

…qui n’exige que 81bits. Solution: Utilisation du codage de Huffman pour

réduire encore plus la taille des données. (inventé en 1952).

Page 27: Codage des images

27

Codage de transformation

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.

Page 28: Codage des images

28

Codage de transformation

La transformée de Fourier pourrait être un bon codage de transformation, mais elle génère des composantes imaginaires.

La transformée cosinusoïdale directe discrète 2D (DCT) est très populaire en imagerie. Plus de composantes imaginaires à traiter. Est appliquée sur des blocs d’image de 8 x 8.

Page 29: Codage des images

29

La DCT 2D - (transmission)

Équation:

x,y: position du pixel; u,v: position de la composante du spectre;

de 0 à 7. f(x,y): amplitude du pixel.

F u v C u C v f x y

x u y v

yx

( , ) ( ) ( ) ( , ) co s co s

1

4

2 1

1 6

2 1

1 60

7

0

7

ou 01 2( ), ( )

ailleurs1

u vC u C v

Page 30: Codage des images

30

La IDCT 2D - (réception)

Équation:

x,y: position du pixel; u,v: position de la composante du spectre;

de 0 à 7. F(u,v): amplitude de la composante.

f x y C u C v F u v

x u y v

vu

( , ) ( ) ( ) ( , ) co s co s

1

4

2 1

1 6

2 1

1 60

7

0

7

ou 01 2( ), ( )

ailleurs1

u vC u C v

Page 31: Codage des images

31

Les standards de compression

Images fixes: Joint Photographic Expert Group - JPEG

Images dynamiques: H.261 Moving Picture Expert Group - MPEG

Page 32: Codage des images

32

Le standard JPEG

Schéma de traitement - compression :

Image DCT Quantificateur

Codeur decoefficient

Codeur deHuffman

Image encodée

Séparée enblocs de 8 x 8

Plus de bitsà base fréquence

Compression de l’image

Page 33: Codage des images

33

Examinons le processus sur un exemple simple

Exemple sur une image 16 x 16

Page 34: Codage des images

34

Le standard JPEG

Image RGB initiale de 16 X 16:

8 x 8 8 x 8

8 x 8 8 x 8

Page 35: Codage des images

35

Le standard JPEG – DCT 2D

Transformée DCT (degré de rouge, coin supérieur gauche)

Basses fréquences

hautes fréquences-128.4966 662.5000

Page 36: Codage des images

36

Le standard JPEG – DCT 2D

Transformée DCT (degré de rouge, coin supérieur gauche), version numérique:

Page 37: Codage des images

37

Le standard JPEG – DCT 2D

Transformée DCT (degré de vert, coin supérieur gauche)

Basses fréquences

hautes fréquences-83.1492 980.0000

Page 38: Codage des images

38

Le standard JPEG – DCT 2D

Transformée DCT (degré de bleu, coin supérieur gauche)

Basses fréquences

hautes fréquences -69.3520 65.3281

Page 39: Codage des images

39

Le standard JPEG – DCT 2D

Pour la luminance:

-58.5426 339.1378

Page 40: Codage des images

40

Le standard JPEG – DCT 2D

Pour la chrominance (composante U):

-94.6848 278.7808

Page 41: Codage des images

41

Le standard JPEG – DCT 2D

Pour la chrominance (composante V):

-51.3097 419.1565

Page 42: Codage des images

42

Le standard JPEG – DCT 2D

Pour la chrominance (composante V – sous échantillonnée):

-71.0785 369.1446

Page 43: Codage des images

43

Le standard JPEG - Quantification

Calcul de la quantification:

Matrice de quantification: Il en existe plusieurs versions. Exemple utilisé sur notre image:

F u v roundF u v

Q u vQ ( , )

( , )

( , )

Q = 6 9 12 15 18 21 24 27 9 12 15 18 21 24 27 30 12 15 18 21 24 27 30 33 15 18 21 24 27 30 33 36 18 21 24 27 30 33 36 39 21 24 27 30 33 36 39 42 24 27 30 33 36 39 42 45 27 30 33 36 39 42 45 48 1 2 3 4 5 6 7 8

1

2

3

4

5

6

7

8

10

20

30

40

50

60

Page 44: Codage des images

44

Le standard JPEG - Quantification

Variantes de la matrice de quantification: Q(i,j) = 1 + (i+j+1)*qualite

Avec qualite ajustant la compression possible de l’image.

Si qualite = 0, il n’y a pas de quantification. Pas de perte d’information due à la quantification.

Matrices de quantification pour luminance et chrominance.

Page 45: Codage des images

45

Le standard JPEG - Quantification

Matrice de quantification luminance:

Source : http://www.w3.org/Graphics/JPEG/itu-t81.pdf

Page 46: Codage des images

46

Le standard JPEG - Quantification

Matrice de quantification chrominance:

Page 47: Codage des images

47

Le standard JPEG

Quantification (rouge) :

Plein de 0

Page 48: Codage des images

48

Maintenant que l’image a été transformée avec la DCT et qu’elle a été quantifiée, on passe à l’étape de compression.Cela implique:

- Codage des coefficients;- Codage entropique;

- Codage de Huffman.

Étape de compression

Page 49: Codage des images

49

Standard JPEG – codage entropique

Codeur de coefficients (codage entropique): Cette approche de codage prend l’amplitude

de chaque composante de l’espace des fréquences et la code de façon à comprimer les données.

Puisque les 0 sont fréquents en haute fréquence, on met les composantes fréquences en ordre pour augmenter la compressibilité des données.

Page 50: Codage des images

50

Standard JPEG – codage entropique

Mise en ordre des composantes: Elle est faite selon un zigzag comme montré

ci-dessous:

Page 51: Codage des images

51

Standard JPEG – codage entropique

Codage du niveau DC des blocs successifs: Pour réduire la taille des données

transmisses, on utilise la variation d’amplitude DC plutôt que l’amplitude elle-même. La différence prend moins de bits...

Page 52: Codage des images

52

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.

sym b o le - 1 sym b o le - 2

(lo n gu eu r, ta ille ) (am p litu d e)

Standard JPEG – codage entropique

Page 53: Codage des images

53

Standard JPEG – codage entropique

Symbolisation des composantes AC: Exemple: (6,2)(3) ou (0110 0010) 11:

Amplitude = 3 requiert 2 bits Donc la taille = 2 Il y a 6 zéros de suite avant la valeur 3

Donc X,0,0,0,0,0,0,3

Économie de 46 bits (10 bits au lieu de 7x8 = 56 bits). Compression d’un facteur 5.6.

Du moins pour cette partie de l’image !

Page 54: Codage des images

54

Standard JPEG – codage entropique

Que faire si le spectre en fréquence comporte plus de 15 zéros de suite. Solution, on utilise le code (15,0) que l’on

peut traduire par « il y a 16 zéros de suite »; Ce code utilise 8 bits au lieu de 128 bits (16 x

moins). Ainsi (15,0)(15,0)(15,0) = 48 zéros de suite.

Dans le cas où il n’y a que des zéros dans le reste du spectre, on utilise le code de fin de bloc : (0,0).

Page 55: Codage des images

55

Standard JPEG – codage entropique

Symbolisation des composantes DC:

Dans le premier bloc de l’image on indique l’amplitude réelle de la composante DC;

Dans les blocs suivants on indique l’amplitude de l’écart de la composante DC avec celle du bloc précédent.

sym b o le - 1 sym b o le - 2

(ta ille ) (am p litu d e )

Page 56: Codage des images

56

Standard JPEG – codage entropique

Exemple de symbolisation des composantes DC: (7)(100) … bloc 1 … (2)(4) … bloc 2 … (3)(-5) …

bloc 3 …

Valeurs réelles des composantes DC: Bloc 1 = 100; Bloc 2 = 104; Bloc 3 = 99.

Économie théorique de 12 bits (12 bits au lieu de 3x8 =24). Mais on vient d’additionner 24 bits de codage. Mais sur une image complète on peut avoir un gain.

Page 57: Codage des images

57

Standard JPEG – les amplitudes

Voici les tailles en bits et les amplitudes des coefficients:

Page 58: Codage des images

58

Standard JPEG – Exemple de codage

Supposons que la valeur DC du bloc précédent était de 12 et que la DCT du nouveau bloc est:

(2)(3), (1,2)(-2), (0,1)(-1), (0,1)(-1), (0,1)(-1), (2,1)(-1), (0,0)

512 bits 64 bits 8

Page 59: Codage des images

59

Sur notre image 16x16

En RGB:

(7,110): (0,6) 37, (0,6) 47, (0,5) 22, (0,4) -10, (0,5) 20, (0,4) 8, (0,3) -6, (0,4) -9, (0,4) 9, EOB.

(0,0): (0,6) -37, (0,6) 47, (0,5) 22, (0,4) 10, (0,5) 20, (0,4) -8, (0,3) -6, (0,4) 9, (0,4) 9, EOB.

(6,-48): (0,5) 25, (0,5) -18, (0,4) 12, (0,4) 10, (0,4) 13, (0,3) 5, (0,3) 6, (0,2) -3, (0,3) -4, EOB.

(0,0): (0,5) -25, (0,5) -18, (0,4) 12, (0,4) -10, (0,4) 13, (0,3) -5, (0,3) 6, (0,2) 3, (0,3) -4, EOB.

(5,21): (0,4) -8, (0,3) -5, EOB. (4,13): (0,4) 15, (0,4) -15, (0,3) 5, (0,4) -12, (0,3) 5, EOB. (4,-13): (0,4) -8, (0,3) 5, (1,3) -5, (0,3) 5, (0,3) -4, (0,3) 4, (1,1) -1, EOB. (4,13): (0,4) 15, (0,4) 15, (0,3) 5, (0,4) 12, (0,3) 5, EOB. (8,163): (0,4) -9, (0,3) -6, (0,3) -7, (0,2) 2, (0,3) -5, (0,2) -2, (0,1) 1, (0,2) 2, (0,2) -2, EOB. (0,0): (0,4) 9, (0,3) -6, (0,3) -7, (0,2) -2, (0,3) -5, (0,2) 2, (0,1) 1, (0,2) -2, (0,2) -2, EOB. (0,0): (0,4) -9, (0,3) 6, (0,3) -7, (0,2) -2, (0,3) -5, (0,2) -2, (0,1) -1, (0,2) 2, (0,2) 2, EOB. (0,0): (0,4) 9, (0,3) 6, (0,3) -7, (0,2) 2, (0,3) -5, (0,2) 2, (0,1) -1, (0,2) -2, (0,2) 2, (1,1) 1,

(0,1) 1, EOB.

Page 60: Codage des images

60

Sur notre image 16x16

En YUV: (5,21): (0,3) 5, (0,4) 8, (0,3) 5, (1,4) 10, (1,3) -4, (0,2) -3, (0,2) 3, (1,2) -2, (0,2) -2, (0,1) 1,

(0,1) 1, (0,1) -1, (0,1) -1, (0,1) -1, (2,1) -1, (0,1) -1, (0,1) 1, (1,1) -1, EOB. (2,3): (0,1) -1, (0,2) 3, (0,3) 7, (0,3) -4, (0,4) 10, (0,2) -2, (0,2) -3, (0,3) 5, (0,2) 2, (1,1) 1,

(0,2) -2, (0,1) 1, (1,1) 1, (1,1) -1, (0,1) 1, (1,1) -1, (0,1) -1, (2,1) 1, EOB. (4,-8): (0,2) 2, (0,1) -1, (0,2) 3, (1,4) 8, (0,1) -1, (0,3) 4, (0,1) -1, (0,2) -2, (1,1) 1, (1,1) -1,

(0,1) 1, (0,1) -1, (0,1) 1, (3,1) 1, EOB. (2,3): (0,2) 2, (0,2) 3, (0,3) 5, (0,3) 4, (0,3) 7, (0,1) -1, (0,2) 3, (0,2) 3, (0,1) -1, (1,1) -1,

(0,1) -1, (0,1) -1, (3,1) -1, (0,1) -1, (1,1) 1, (3,1) -1, EOB. (3,-7): (0,4) 14, (0,4) 15, (0,4) 8, (0,3) -5, (0,3) 6, (0,2) 2, (0,2) -2, (0,2) -3, (0,2) 2, (1,1) -1,

(0,1) -1, (0,1) -1, (6,1) -1, (0,1) -1, (5,1) -1, (7,1) -1, EOB. (1,-1): (0,4) -15, (0,5) 17, (0,3) 7, (0,3) 6, (0,3) 6, (0,2) -2, (0,2) -2, (0,2) 3, (0,2) 2, (1,1) 1,

(0,1) -1, (2,1) 1, (4,1) -1, (0,1) -1, (5,1) -1, EOB. (4,-9): (0,4) 10, (0,3) -7, (0,3) 5, (0,3) 4, (0,3) 4, (0,2) 2, (0,1) 1, (0,1) -1, (0,1) -1, (3,1) 1,

(13,1) -1, EOB. (1,-1): (0,4) -11, (0,4) -8, (0,3) 4, (0,3) -6, (0,3) 4, (0,1) -1, (0,2) 2, (0,1) 1, (0,1) -1, EOB. (5,25): (0,3) 5, (0,3) 5, (0,1) 1, (0,2) -2, (1,1) 1, (0,1) 1, (0,1) -1, (4,1) -1, EOB. (2,-3): (0,3) -7, (0,4) 8, (1,3) 4, EOB. (1,-1): (0,2) 3, (0,2) -2, (1,2) 2, (0,1) -1, (0,1) 1, (0,1) -1, (5,1) 1, EOB. (2,-2): (0,3) -5, (0,3) -5, (0,1) -1, (0,3) -4, (0,1) -1, (2,1) -1, EOB.

Page 61: Codage des images

61

Sur notre image 16x16

En YUV (avec UV sous échantillonné):

(5,21): (0,3) 5, (0,4) 8, (0,3) 5, (1,4) 10, (1,3) -4, (0,2) -3, (0,2) 3, (1,2) -2, (0,2) -2, (0,1) 1, (0,1) 1, (0,1) -1, (0,1) -1, (0,1) -1, (2,1) -1, (0,1) -1, (0,1) 1, (1,1) -1, EOB.

(2,3): (0,1) -1, (0,2) 3, (0,3) 7, (0,3) -4, (0,4) 10, (0,2) -2, (0,2) -3, (0,3) 5, (0,2) 2, (1,1) 1, (0,2) -2, (0,1) 1, (1,1) 1, (1,1) -1, (0,1) 1, (1,1) -1, (0,1) -1, (2,1) 1, EOB.

(4,-8): (0,2) 2, (0,1) -1, (0,2) 3, (1,4) 8, (0,1) -1, (0,3) 4, (0,1) -1, (0,2) -2, (1,1) 1, (1,1) -1, (0,1) 1, (0,1) -1, (0,1) 1, (3,1) 1, EOB.

(2,3): (0,2) 2, (0,2) 3, (0,3) 5, (0,3) 4, (0,3) 7, (0,1) -1, (0,2) 3, (0,2) 3, (0,1) -1, (1,1) -1, (0,1) -1, (0,1) -1, (3,1) -1, (0,1) -1, (1,1) 1, (3,1) -1, EOB.

(3,4): (1,3) 5, (0,4) 8, (1,4) 8, (1,1) 1, (1,1) 1, (0,1) 1, (1,2) -2, (1,1) 1, (6,1) 1, (5,1) 1, EOB.

(5,22): (0,1) 1, (0,2) 2, (0,3) 4, (1,3) 4, (6,1) -1, EOB.

Page 62: Codage des images

62

Standard JPEG – codage de Huffman

On remarque qu’une fois le codage entropique fait, on retrouve fréquemment les mêmes symboles.

Exemple, la valeur (0,1) dans la suite suivante: (5,21): (0,3) 5, (0,4) 8, (0,3) 5, (1,4) 10, (1,3)

-4, (0,2) -3, (0,2) 3, (1,2) -2, (0,2) -2, (0,1) 1, (0,1) 1, (0,1) -1, (0,1) -1, (0,1) -1, (2,1) -1, (0,1) -1, (0,1) 1, (1,1) -1, EOB.

Page 63: Codage des images

63

Standard JPEG – codage de Huffman

On pourrait donc profiter de la répétition d’un terme pour faire de la compression.

Exemple: Compression du mot

« anticonstitutionnellement ».

Page 64: Codage des images

64

Coder « anticonstitutionnellement »

Page 65: Codage des images

65

Coder « anticonstitutionnellement »

Page 66: Codage des images

66

Coder « anticonstitutionnellement » n = 10 t = 11 o = 00000 a = 00001 l = 0001 c = 00100 s = 00101 u = 00110

m = 00111 i = 010 e = 011 00001 10 11 010

00100 00000 10 00101 11 010 11 00110 11 010 00000 10 10 011 0001 0001 011 00111 011 10 11Résultat: on passe de 25x8 bits à 81 bits (2.46 x).

Page 67: Codage des images

67

Standard JPEG – codage de Huffman

Fréquence des symboles-1 (moins

l’amplitude) (2) 1 x

(0,0) 1 x

(0,1) 3 x

(1,2) 1 x

(2,1) 1 x

Page 68: Codage des images

68

Le standard JPEG

Codeur de Huffman (codage entropique): Arborescence des symboles-1

(0,1)

(2) (0,0) (1,2) (2,1)

0 0

0

0

1

1

1

1

Page 69: Codage des images

69

Le standard JPEG

Codes:(2) 011

(0,0) 010

(0,1) 1

(1,2) 001

(2,1) 000

Page 70: Codage des images

70

Le standard JPEG

Codeur de Huffman (codage entropique):

(2)(3), (1,2)(-2), (0,1)(-1), (0,1)(-1), (0,1)(-1), (2,1)(-1), (0,0)

64 bits 23 bits 2.78

01111001011010100000010

Si on ne regarde pas la table de Huffman qu’il faut aussi transférer,on a compressé de 512 à 23 bits

Page 71: Codage des images

71

Le standard JPEG

Schéma de traitement - décompression :

Image IDCTQuantificateur

inverse

Décodeur decoefficient

Décodeur deHuffman

Image encodée

Pareille ou non à l’image source,selon la qualité de l’encodage ou du décodage

Décompression de l’image

Page 72: Codage des images

72

Image DCT compression décompression IDCT Image

Exemple

Page 73: Codage des images

73

Exemple d’image à compresser Image brute (tons de gris)

Page 74: Codage des images

74

Exemple d’image à compresser Visuellement

Page 75: Codage des images

75

Exemple d’image à compresser Sans compression: 8 x 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.

Page 76: Codage des images

76

Exemple d’image à compresser Étape #2 : DCT

Page 77: Codage des images

77

Exemple d’image à compresser Étape #3 : Quantification (matrice Q)

6 9 12 15 18 21 24 279 12 15 18 21 24 27 3012 15 18 21 24 27 30 3315 18 21 24 27 30 33 3618 21 24 27 30 33 36 3921 24 27 30 33 36 39 4224 27 30 33 36 39 42 4527 30 33 36 39 42 45 48

Page 78: Codage des images

78

Exemple d’image à compresser Étape #3 : Quantification

Page 79: Codage des images

79

Exemple d’image à compresser

Étape #4 : Codage entropique:

(8)(167): (2,6) -37, (1,6) -37, (6,4) -11, (8,1) -1, (1,4) 8, (1,4) 8, (1,1) -1, (11,3) 7, (10,2) -2, (1,2) -2, (6,3) -5, EOB.

Page 80: Codage des images

80

Exemple

Codage de Huffman - fréquence des codes: 1 fois:

(8), (2,6), (1,6), (6,4), (8,1), (1,1), (11,3), (10,2), (1,2), (6,3), EOB.

2 fois: (1,4)

Page 81: Codage des images

81

Exemple

Codage de Huffman - arborescence:

(1,4)

(8)

(2,6) (1,6)

(6,4) (8,1) (1,1) (11,3)

(10,2) (1,2) (6,3) (0,0)

Page 82: Codage des images

82

Exemple

Codage de Huffman :

(8)(33)

(2,6)(-37)

(1,6)(-37)

(6,4)(-11)

011 10100111

0101 011011

0100 011011

00111 0101

Coeff. et ampl.

(1,4)

(8)

(2,6) (1,6)

(6,4) (8,1) (1,1) (11,3)

(10,2) (1,2) (6,3) (0,0)

Page 83: Codage des images

83

Exemple

Codage de Huffman :

(8,1)(-1)

(1,4)(8)

(1,4)(8)

(1,1)(-1)

00110 0

1 1000

1 1000

00101 0

(1,4)

(8)

(2,6) (1,6)

(6,4) (8,1) (1,1) (11,3)

(10,2) (1,2) (6,3) (0,0)

Page 84: Codage des images

84

Exemple

Codage de Huffman :

(11,3)(7)

(10,2)(-2)

(1,2)(-2)

(6,3)(-5)

00100 111

00011 01

00010 01

00001 011

(0,0) 00000

(1,4)

(8)

(2,6) (1,6)

(6,4) (8,1) (1,1) (11,3)

(10,2) (1,2) (6,3) (0,0)

Page 85: Codage des images

85

Exemple

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

Page 86: Codage des images

86

Exemple

À la réception, on reconstitue la matrice de l’image

quantifiée on dé-quantifie l’image on fait la IDCT.

Page 87: Codage des images

87

Exemple

Image reçue:

Image originale:

Page 88: Codage des images

88

Exemple d’image décompresser Visuellement:

Page 89: Codage des images

89

Présentons comment on comprime l’information d’une vidéo en présentant brièvement de le standard MPEG.

De l’image fixe à la vidéo

Page 90: Codage des images

90

Le standard MPEG

Schéma de traitement - (transmission)

Image en mouvement

Codage prédictifavant/arrière

QuantificateurCodeur deHuffman

Image encodée

Chaque image divisée en bloc de 8 x 8

Similitudes entre lesimages successives

Page 91: Codage des images

91

Le standard MPEG

Redondance spatiale et temporelle:

DCT

Page 92: Codage des images

92

Le standard MPEG

Codage des pixels avec les DCT:

Page 93: Codage des images

93

Le standard MPEG

Quantification et codage entropique:

Page 94: Codage des images

94

Le standard MPEG

Prédiction inter-trame et estimation du mouvement:

Page 95: Codage des images

95

Le standard MPEG

Estimation du mouvement:

Page 96: Codage des images

96

Le standard MPEG

Les trames I, P et B:

Page 97: Codage des images

97

Le standard MPEG

Les trames I, P et B: Trame I: Trame envoyée à intervalle régulier pour

limiter les erreurs;

Trame P: Trames prédites à l’avance à partir des anciennes trames I et P.

Trame b: Trames prédites de façon bi-directionnelle à partir de la trame I ou P précédente et de la trame I ou P suivante.

Page 98: Codage des images

98

Le standard MPEG

Les trames I, P et B:

Page 99: Codage des images

99

Le standard MPEG

Compression vidéo:

Page 100: Codage des images

100

Le standard MPEG

Autres normes: H.261 MPEG 3.0 MPEG 4.0 MPEG 7.0