Compression de signaux numériques II - UQAM

23
1 MIC 4220, Traitement numérique des signaux Mounir Boukadoum, Michaël Ménard et sources sur Internet, dont Michael Moewe 1 Compression de signaux numériques II MIC 4220, Traitement numérique des signaux Mounir Boukadoum, Michaël Ménard et sources sur Internet, dont Michael Moewe 2 Plan • Compression d’images – GIF – Par ondelettes – Fractale • Compression vidéo – H.261 – MPEG

Transcript of Compression de signaux numériques II - UQAM

Page 1: Compression de signaux numériques II - UQAM

1

MIC 4220, Traitement numérique des signaux

Mounir Boukadoum, Michaël Ménard et sources sur Internet, dont Michael Moewe 1

Compression de signaux numériques II

MIC 4220, Traitement numérique des signaux

Mounir Boukadoum, Michaël Ménard et sources sur Internet, dont Michael Moewe 2

Plan

• Compression d’images – GIF– Par ondelettes– Fractale

• Compression vidéo– H.261– MPEG

Page 2: Compression de signaux numériques II - UQAM

2

MIC 4220, Traitement numérique des signaux

Mounir Boukadoum, Michaël Ménard et sources sur Internet, dont Michael Moewe 3

• Un inconvénient des méthodes d’encodage statistique comme celle de Huffman est qu’elles se font en deux temps

– Il faut d’abord établir la probabilité de chaque symbole; ensuite, on peut faire l’encodage

• La méthode de Ziv-Lempel (LZ) procède en une étape, grâce à un dictionnaire construit au fur et à mesure

– Les données sont encodées progressivement, et les anciennes servent de dictionnaire pour encoder les nouvelles

Codage par dictionnaire

MIC 4220, Traitement numérique des signaux

Mounir Boukadoum, Michaël Ménard et sources sur Internet, dont Michael Moewe 4

LZ77

a b c a b d a c a b d e e e fc

Tampon de recherhce Tampon de lecture

Triplet de sortie <décalage, longeur, prochain>

12345678

3

8 0 13 d 0 e 2 f

2

transmis au décodeur:

• Utilisé dans PKZip, Zip, Lharc, PNG, gzip, ARJ

Traduit et adapté de Jörgen Ahlberg

Page 3: Compression de signaux numériques II - UQAM

3

MIC 4220, Traitement numérique des signaux

Mounir Boukadoum, Michaël Ménard et sources sur Internet, dont Michael Moewe 5

• LZ77 ne peut pas trouver de séquence plus longue que le tampon de recherche

• Certaines séquences sont étendues au lieu d’être compressées– Ex. : a b c d e a b c d e a b c d e a b c d e … avec un tampon

de recherche de taille 4.

• LZ78 résout ces problèmes en remplaçant le triplet dans LZ77 par un doublet qui fait référence à des dictionnaires multiples

LZ78

MIC 4220, Traitement numérique des signaux

Mounir Boukadoum, Michaël Ménard et sources sur Internet, dont Michael Moewe 6

LZ78

doublet de sortie <indice du dictionnaire, prochain>

Dictionnaire d’encodage :1 a2 b3 c4 a b5 a b c

a b c a b a b c

0 atransmis au décodeur : 0 b 0 c 1 b 4 c

Décodé : a b c a a bb c

Il faut une stratégie pour limiter la taille du dictionnaire!

Traduit et adapté de Jörgen Ahlberg

Page 4: Compression de signaux numériques II - UQAM

4

MIC 4220, Traitement numérique des signaux

Mounir Boukadoum, Michaël Ménard et sources sur Internet, dont Michael Moewe 7

LZW

• Modification en 1984 de LZ78 par Terry Welch

• Breveté par Unisys Corp.

• Transmet les indices des dictionnaires en une séquence à part, l’alphabet étant emmagasiné dans un dictionnaire distinct

• Utilisé dans la compression d’images GIF et le standard v42bis

MIC 4220, Traitement numérique des signaux

Mounir Boukadoum, Michaël Ménard et sources sur Internet, dont Michael Moewe 8

LZW

Code de sortie : indice du dictionnaire

Dictionnaire d’encodage1 a2 b3 c4 d5 a b

a b c a b a b c

1transmis au décodeur :

2 3 5 5Décodé :

a b c a b a b

6 bc7 ca8 aba9 abc

Dictionnaire de décodage1 a2 b3 c4 d5 a b

6 bc7 ca8 aba

Séquence d’entrée :

Page 5: Compression de signaux numériques II - UQAM

5

MIC 4220, Traitement numérique des signaux

Mounir Boukadoum, Michaël Ménard et sources sur Internet, dont Michael Moewe 9

Compression GIF• CompuServe Graphics Interchange Format (1987, 89)

– Conçu initialement pour le transfert d’images des/vers les babillards électroniques par réseaux téléphoniques de voix

• Compression LZW avec dictionnaire de taille 2b+1 symboles de 8 bits, b étant le nombre de bits de la palette de couleurs

• Permet l’inclusion d’images multiples dans un même fichier

• Excellent pour les graphiques aux bordures franches, mais résolution de 8 bits inadéquate pour les images naturelles (en comparaison avec JPEG, par exemple)

MIC 4220, Traitement numérique des signaux

Mounir Boukadoum, Michaël Ménard et sources sur Internet, dont Michael Moewe 10

GIF 89a vs. JPEG

Image GIF Image JPEG

• La qualité de l’image compressée est supérieure avec GIF (effet de bord prononcé avec JPEG, dû aux blocs de 8x8 pixels)

Page 6: Compression de signaux numériques II - UQAM

6

MIC 4220, Traitement numérique des signaux

Mounir Boukadoum, Michaël Ménard et sources sur Internet, dont Michael Moewe 11

PNG: Portable Network Graphics• Conçu pour remplacer GIF (et aussi éviter le brevet d’Unisys)

• Peut compresser des images en vraies couleurs (16 bits/plan)

• Méthode de compression à deux étages :– Compression LZ77 avec un tampon de recherche de 32KB – Encodage de Huffman des triplets obtenus

• Encodage sans pertes, mais fichiers plus gros en comparaison avec JPEG

• Ne permet pas d’images multiples dans un même fichier– Multiple-image network graphics (MNG) fut conçu à cette fin

• www.w3.org/TR/REC-png.html pour plus d’information

MIC 4220, Traitement numérique des signaux

Mounir Boukadoum, Michaël Ménard et sources sur Internet, dont Michael Moewe 12

Plan

• Compression d’images – GIF 89a– Par ondelettes– Fractale

• Compression vidéo– H.261– MPEG

Page 7: Compression de signaux numériques II - UQAM

7

MIC 4220, Traitement numérique des signaux

Mounir Boukadoum, Michaël Ménard et sources sur Internet, dont Michael Moewe 13

Compression d’images par ondelettes• Les résolutions en temps et fréquence d’une analyse

de Fourier sont constantes pour une fenêtre d’observation donnée – Fenêtre de grande durée → résolution en fréquence , en temps – Fenêtre de courte durée → résolution en fréquence, en temps

• On peut les optimiser en utilisant une fenêtre de durée variable

MIC 4220, Traitement numérique des signaux

Mounir Boukadoum, Michaël Ménard et sources sur Internet, dont Michael Moewe 14

La transformée par ondelettes

• Permet l’utilisation de fenêtres d’observation de taille variable en temps et amplitude

• Mène à la décomposition optimale d’images avec des bords vifs ou des les courbes/lignes continues (p.ex. empreintes digitales)

Page 8: Compression de signaux numériques II - UQAM

8

MIC 4220, Traitement numérique des signaux

Mounir Boukadoum, Michaël Ménard et sources sur Internet, dont Michael Moewe 15

Avantages de DWT sur FFT

FFT : fenêtres d’analyse de dimensions fixes le long de tet f

DWT : fenêtres d’analyse de dimensions variables le long de t et f

Source: “An Introduction to Wavelets”. http://www.amara.com/IEEEwave/IEEEwavelet.html#contents

MIC 4220, Traitement numérique des signaux

Mounir Boukadoum, Michaël Ménard et sources sur Internet, dont Michael Moewe 16

Décomposition de signal par ondelettes

• Les fonctions de base (ondelettes)

sont dérivées d’une fonction « mère »– Amplitude et durée d’étendues

finies et programmable en comparaison aux fonctions sinusoïdales

– Valeur moyenne nulle Exemples d’ondelettes

Source: “An Introduction to Wavelets”. http://www.amara.com/IEEEwave/IEEEwavelet.html#contents

• Mieux adaptée pour les images à contrastes que la DCT utilisée dans JPEG

Page 9: Compression de signaux numériques II - UQAM

9

MIC 4220, Traitement numérique des signaux

Mounir Boukadoum, Michaël Ménard et sources sur Internet, dont Michael Moewe 17

Ondelettes vs. JPEG

Compression par ondelettesTaille de fichier : 1861 OctetsRatio de compression : 105.6

Source: “About Wavelet Compression”. http://www.barrt.ru/parshukov/about.htm.

Compression JPEGTaille de fichier : 1895 OctetsRatio de compression : 103.8

MIC 4220, Traitement numérique des signaux

Mounir Boukadoum, Michaël Ménard et sources sur Internet, dont Michael Moewe 18

Transformée en ondelette discrète

• Décompose un signal en une somme pondéré de fonctions orthogonales discrètes

• k,n( ) est dérivé d’une partir d’une ondelette mère ( ) :

kknk

ntt

22

1, n

k

Translation

Éch

elle

ψ(t)

Ψk,n(t)

Page 10: Compression de signaux numériques II - UQAM

10

MIC 4220, Traitement numérique des signaux

Mounir Boukadoum, Michaël Ménard et sources sur Internet, dont Michael Moewe 19

Calcul de la DWT

• k et n doivent être bornés en pratique– n est limité par 0 et la durée de x(t)

– k est dicté par le spectre de fréquence de x(t)• La limite inférieure est finie pour une spectre fini, mais

la limite supérieure pour atteindre 0 est infinie !

kknk

ntt

22

1,

Spectre de (t) pour différents indices k

MIC 4220, Traitement numérique des signaux

Mounir Boukadoum, Michaël Ménard et sources sur Internet, dont Michael Moewe 20

• On utilise une fonction « bouchon » pour stopper l’expansion des basses fréquences (scaling function, « plug » ou « cork »)

• On peut écrire alors : x(t) = composant de basse fréquence (scaling function)

+ composants de hautes fréquences (ondelettes)

• Le processus peut être répété de proche ne proche pour chaque ondelette (décompostion en 2 composantes de basse et et haute fréquence)

Calcul de la DWT

Page 11: Compression de signaux numériques II - UQAM

11

MIC 4220, Traitement numérique des signaux

Mounir Boukadoum, Michaël Ménard et sources sur Internet, dont Michael Moewe 21

DWT à 2-DF(x,y)

2x

FH(x,y)

2x

FL(x,y)

L(x)

2y 2y

FHL1(x,y) FHH1(x,y)

H(x)

H(x)

L(x)

2y 2y

FLL1(x,y) FLH1(x,y)

H(x)

L(x)

H(x) L(x)

Level two decomposition

L

L

L

H

H

H

H(y) H(y)L(y) L(y)

• Décomposition DWT à une dimension le long de x et y respectivement

• Le processus peut être répété pour une décomposition à niveaux multiples afin d’offrir plus de détails !

Exemple de DWT-2D à deux niveaux

MIC 4220, Traitement numérique des signaux

Mounir Boukadoum, Michaël Ménard et sources sur Internet, dont Michael Moewe 22

Décomposition d’image par DWT-2D • L’application de la DWT bidimensionnelle à une image

génère quatre sous-images :• low–high (LH)

• high–low (HL)

• high–high (HH)

• low–low (LL)

• LH, HL, HH: coefficients des ondelettes de haute fréquence le long de x, y et x,y, représentant les détails de l’image

• LL : coefficients des ondelettes de basse fréquence, donnant une vue approximative de l’image

• On peut itérer le processus pour plus de détails!

Page 12: Compression de signaux numériques II - UQAM

12

MIC 4220, Traitement numérique des signaux

Mounir Boukadoum, Michaël Ménard et sources sur Internet, dont Michael Moewe 23

Décomposition d’image par DWT-2D

Décomposition à deux niveaux

MIC 4220, Traitement numérique des signaux

Mounir Boukadoum, Michaël Ménard et sources sur Internet, dont Michael Moewe 24

L(x)

H(x)

L(y)

L(y)

H(y)

H(y)

L(x)

H(x)

L(y)

L(y)

H(y)

H(y)

L(x)

L(y)

H(y)

L(x)

L(y)

H(y)

L(y)

H(y)

L(y)

H(y)

Décomposition d’image par DWT-2D • Pour les images en couleurs, il faut décomposer les trois plans

de couleur et superposer les résultats

Page 13: Compression de signaux numériques II - UQAM

13

MIC 4220, Traitement numérique des signaux

Mounir Boukadoum, Michaël Ménard et sources sur Internet, dont Michael Moewe 25

Plan

• Compression d’images – GIF 89a– Par ondelettes– Fractale

• Compression vidéo– H.261– MPEG

MIC 4220, Traitement numérique des signaux

Mounir Boukadoum, Michaël Ménard et sources sur Internet, dont Michael Moewe 26

Compression fractale• Utilise le concept d’autosimilarité au lieu d’un

dictionnaire ou de décomposition spectrale– Les régions qui se ressemblent sont encodées en termes de

position et de la transformation affine requise pour assurer l’autosimilarité

• Permet des changements d’échelle arbitraires et sans perte de qualité des objets encodés

• Meilleurs résultats que JPEG pour les taux de compression élevés (>40), mais temps d’encodage beaucoup plus lent ; le temps de décodage est similaire.

Page 14: Compression de signaux numériques II - UQAM

14

MIC 4220, Traitement numérique des signaux

Mounir Boukadoum, Michaël Ménard et sources sur Internet, dont Michael Moewe 27

Compression fractale

i i ii

i i i

a b ex xw

c d fy y

Image originale Régions autosimilaires

MIC 4220, Traitement numérique des signaux

Mounir Boukadoum, Michaël Ménard et sources sur Internet, dont Michael Moewe 28

Compression fractrale versus JPEG

Original Lena image (184,320 bytes)

JPEG-max. quality (32,072 bytes)comp. ratio: 5.75:1

FIF-max. quality (30,368 bytes)comp. ratio: 6.07:1

Image JPEG x 4 Decodage à 4x la resolution d’encodage

Page 15: Compression de signaux numériques II - UQAM

15

MIC 4220, Traitement numérique des signaux

Mounir Boukadoum, Michaël Ménard et sources sur Internet, dont Michael Moewe 29

• LZ77 and LZ78 assurent une compression sans perte par dictionnaire surtout efficace en présence de de motifs redondants fréquents

• JPEG opère avec pertes pour donner des fichiers de petite taille ; cependant la qualité d’image baisse avec le taux de compression

• La compression par ondelettes et la compression fractale sont des alternatives à JPEG qui peuvent offrir une meilleure qualité d’image à des taux de compression élevés

Section 7A ConclusionCompression fractale versus X

MIC 4220, Traitement numérique des signaux

Mounir Boukadoum, Michaël Ménard et sources sur Internet, dont Michael Moewe 30

Plan

• Compression d’images – GIF 89a– Par ondelettes– Fractale

• Compression vidéo– H.261– MPEG

Page 16: Compression de signaux numériques II - UQAM

16

MIC 4220, Traitement numérique des signaux

Mounir Boukadoum, Michaël Ménard et sources sur Internet, dont Michael Moewe 31

Compression vidéo

• Il faut compresser 30 trames/s ou plus pour un rendement réalistique

• L’utilisation de la redondance spatiale (JPEG) dans un signal vidéo donne des taux de compression entre 7:1 et 27:1

• Si on prend avantage de la redondance temporelle aussi (similarité entre trames successives), on peut obtenir entre 20:1 à 300:1 pour un signal de vidéosurveillance ou téléconférence (H.261, MPEG-1), et 30:1 à 100:1 for un signal de meilleure qualité (MPEG-2 et +)

MIC 4220, Traitement numérique des signaux

Mounir Boukadoum, Michaël Ménard et sources sur Internet, dont Michael Moewe 32

H.261

• Standard créé en 1988 par le Video ConferenceExpert Group (VCEG) pour la vidéoconférence par lignes téléphoniques numériques (ISDN)– 2 Mbps, avec échantillonnage couleur 4:2:0.

• Exploite autant la redondance spatiale que temporelle dans le flux vidéo

• Similaire à JPEG, mais utilise une trame de départ, plus des trames de différence et de vecteurs de motion pour prédire les trames suivantes

• Intégré dans MPEG-1 en 1992

Page 17: Compression de signaux numériques II - UQAM

17

MIC 4220, Traitement numérique des signaux

Mounir Boukadoum, Michaël Ménard et sources sur Internet, dont Michael Moewe 33

Structure de trame dans H.261• L’unité de traitement de base est le bloc (8x8 pixels)• Des macro blocs (MB) formés de 4 blocs (16x16 pixels)

sont codés pour donner 4 blocs de luminance et 2 de chrominance– Les 4 blocs de luminance servent aussi à estimer le

mouvement

• Les MB sont groupes en trois rangées de 11 pour former des Groupes de Blocs (GOB) auxquels on ajoute un entête

• Le format d’image de base (CIF ou Common interchangeFormat) comprend 360x288 pixels de luminance et 180x144 pixels de chrominance

MIC 4220, Traitement numérique des signaux

Mounir Boukadoum, Michaël Ménard et sources sur Internet, dont Michael Moewe 34

Source: “H.261 Videoconferencing Codec” http://www.uh.edu/~hebert/ece6354/H261-report.pdf

Block structure of H.261 video bitstream, Common Intermediate Format (CIF), 360x288 pixels luminance, 180x144 pixels chrominance

Structure de trame dans H.261

Page 18: Compression de signaux numériques II - UQAM

18

MIC 4220, Traitement numérique des signaux

Mounir Boukadoum, Michaël Ménard et sources sur Internet, dont Michael Moewe 35

Organisation du flux video dans H.261

MIC 4220, Traitement numérique des signaux

Mounir Boukadoum, Michaël Ménard et sources sur Internet, dont Michael Moewe 36

Groupe d’images

• Groupe d’images (Group of Pictures ou GOP)• I-frame: est codée sans reference aux autres trames (JPEG)

• P-frame: Prédite à partir de la trame I-frame ou P-frame précédente (~ 1/3 de la taille d’une I-frame)

• B-frame: Prédite des trames précédente et suivante(seulement dand MPEG-2 and + ; ~ 1/6th of an I frame)

Page 19: Compression de signaux numériques II - UQAM

19

MIC 4220, Traitement numérique des signaux

Mounir Boukadoum, Michaël Ménard et sources sur Internet, dont Michael Moewe 37

Groupe d’images

• Ensemble de trames pouvant êtres décodées sans recours à d’autres trames

• Normalement 12 or 15 frames par sequence transmise• La séquence transmise doit être décodeée avant l’affichage

GOP H.261, MPEG-1

GOP MPEG2 et +

MIC 4220, Traitement numérique des signaux

Mounir Boukadoum, Michaël Ménard et sources sur Internet, dont Michael Moewe 38

Décodage H.261

Encoded Bitstream

Bitstream DEcoder

Loop Filter

Inverse Quantizer IDCT

Decompressed Video

Motion Compensation

Reference Frame

• Procédure inverse de l’encodage (dérivé de JPEG avec redondance temporelle ajoutée)

Page 20: Compression de signaux numériques II - UQAM

20

MIC 4220, Traitement numérique des signaux

Mounir Boukadoum, Michaël Ménard et sources sur Internet, dont Michael Moewe 39

Plan

• Compression d’images – GIF 89a– Par ondelettes– Fractale

• Compression vidéo– H.261– MPEG

MIC 4220, Traitement numérique des signaux

Mounir Boukadoum, Michaël Ménard et sources sur Internet, dont Michael Moewe 40

Compression MPEG• Créé en 1992 par le Motion Picture Expert Group (MPEG)

• Compatibilité descendante avec JPEG et H.261

• Résolution de chrominance et de pixel plus grande, compatible avec les signaux TV (4:2:2 et 720x480)

• Supporte les modes de balayage entrelacé et non-entrelacé

• Ajoute la prédiction de trame bidirectionnelle dans GOP encoder les différences (MPEG2 et +).

Source: “Parallelization of Software Mpeg Compression” http://www.evl.uic.edu/fwang/mpeg.html

Dépendances GOP dans un flux MPEG-2 et +

Page 21: Compression de signaux numériques II - UQAM

21

MIC 4220, Traitement numérique des signaux

Mounir Boukadoum, Michaël Ménard et sources sur Internet, dont Michael Moewe 41

Versions de MPEG

MPEG-1 : Standard initial pour l’emmagasinage et la transmission d’audio-vidéo compressée (vidéo à faible resolution; 1.5 Mb/s à 352x240 pixels, VCD)

MPEG-2 : Amélioration permettant une meilleure compression pour la TV numérique (HDTV) et les DVD

MPEG-3 : Amélioration pour la TV numérique abandonnée, car ne donnant pas de meilleurs résultats que MPEG-2

MPEG-4 : Amélioration avec une meilleure compression (meilleur débit) pour les applications multimedia. Suporte la vidéo 3D, les objects AV, H.264, DRM et les Blue-Ray

MIC 4220, Traitement numérique des signaux

Mounir Boukadoum, Michaël Ménard et sources sur Internet, dont Michael Moewe 42

Specification technique de MPEG

• Part 1 - Systems - describes synchronization and multiplexing of video and audio.

• Part 2 - Video - compression codec for interlaced and non-interlaced video signals.

• Part 3 - Audio - compression codec for perceptual coding of audio signals. A multichannel-enabled extension of MPEG-1 audio.

• Part 4 - Describes procedures for testing compliance.• Part 5 - Describes systems for Software simulation.• Part 6 - Describes extensions for DSM-CC (Digital Storage Media

Command and Control.)• Part 7 - Advanced Audio Coding (AAC)• Part 8 - Deleted• Part 9 - Extension for real time interfaces.• Part 10 - Conformance extensions for DSM-CC (e.g, H.264)

Page 22: Compression de signaux numériques II - UQAM

22

MIC 4220, Traitement numérique des signaux

Mounir Boukadoum, Michaël Ménard et sources sur Internet, dont Michael Moewe 43

Codage/décodage dans MPEG Block Diagram

MIC 4220, Traitement numérique des signaux

Mounir Boukadoum, Michaël Ménard et sources sur Internet, dont Michael Moewe 44

Enodage temporal dans MPEG

• Basé sur la différence entre trames en tenant compte du mouvement– On crée un vecteur qui prédit comment chaque MB 16x16 se

déplace entre la trame I précédente et la trame courante• Prédiction basée sur la l’erreur absolue moyenne (MAE)

• Les trames P et B codent le vecteur et le bloc de différence

Page 23: Compression de signaux numériques II - UQAM

23

MIC 4220, Traitement numérique des signaux

Mounir Boukadoum, Michaël Ménard et sources sur Internet, dont Michael Moewe 45

Compression vidéo MPEG-2

• Seules les zones qui changent avec le temps sont codées dans les trames P et B

Compensation du mouvement

MIC 4220, Traitement numérique des signaux

Mounir Boukadoum, Michaël Ménard et sources sur Internet, dont Michael Moewe 46

Flux de données MPEG