View
1
Download
0
Category
Preview:
Citation preview
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
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
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
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 :
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)
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
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)
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
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)
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
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!
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
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.
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
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
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
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
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)
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)
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 +
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)
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
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
Recommended