Vous êtes sur la page 1sur 99

Université TAHRI Mohammed de Béchar – Algérie

Faculté de Technologie Département


de Génie Electrique

Codage
et Compression
Module MF222 - 1MTEL
Présenté par : Mr Ahmed BOUIDA
Laboratoire de Traitement d’Information et Télécommunication - LTIT
Année Universitaire 2019/2020 – version 2.0
Contenu du Module :

Notions fondamentales de codage


Codages entropiques
Codage de canal
Méthodes de Compression avec perte

Techniques de compression d’images


1- Notions fondamentales de codage :
(2 semaines)

Définitions de base
Intérêt du codage de canal et source
Source et codage source
Canal et codage canal
Notions sur le codage conjoint

Déjà effectué au cours (support déjà chez lez étudiants)


2- Codages entropiques :
(2 semaines)

Rappels sur la théorie de l’information


Entropie et mesure de l’information
Codage Huffman et Shannon-Fano
Codage arithmétique
Codage LZW

Déjà effectuéCritères d’évaluation


au cours (support déjà chez lez étudiants)
4- Méthodes de compression avec perte :
(3 semaines)
Notions générales
Schéma général de compression
Critères d’évaluation (MSE, PSNR, CR, SSIM, …)
Description des différentes parties (Transformation,
Quantification et Codage entropique)
Types et effet de la transformation
Types et effet de la quantification
Les normes et organismes de compression
1- Notions générales : 4
La compression est dite sans perte lorsqu'il n'y a aucune perte de données sur l'information
d'origine. Elle est seulement réécrite d'une manière plus concise (exemple : Gzip ou PNG). La
compression sans perte est dite aussi compactage.
Par exemple, JPEG-LS permet de compresser presque sans perte du Windows bitmap et Monkey's Audio
permet de compresser sans perte les données audio du wave PCM : il n'y a pas de perte de qualité,
Les algorithmes tels que Lempel-Ziv ou le codage RLE consistent à remplacer des suites de bits utilisées
plusieurs fois dans un même fichier. Dans l'algorithme de codage de Huffman plus la suite de bits est utilisée
souvent, plus la suite qui la remplacera sera courte.

La compression est dite avec perte lorsqu'il y a aucune perte de données sur l'information d'origine
sans que cela soit perceptible par un humain. La perte d'information est irréversible (impossible de
retrouver les données d'origine après une telle compression).
La compression avec pertes ne s'applique que sur des données perceptuelles (audio, image, vidéo), et
s'appuie sur les caractéristiques du système visuel ou du système auditif humain pour ses stratégies de
réduction de l'information. Cette compression est parfois appelée compression irréversible ou non
conservative.
2- Schéma général de la compression : 4
Le schéma global de la compression par transformée est donné sur la figure suivante :

Pour la compression
Image
originale Codage des
Décorrélation symboles
�� (Transformée) Quantification Image
Compressée

01011010100…
Image
Reconstruite Corrélation
(Transformée dé-
�� Quantification Décodage
inverse)

Pour la décompression
2- Schéma général de la compression : 4
Dans la compression par transformée, le rôle de la transformée est de dé-corréler le
signal qui doit être traité. Ainsi chaque échantillon du signal obtenu contient seulement sa
propre information et aucune information spécifique pour les échantillons voisins.

La méthode de compression à perte d'information contrôlée a les pas suivants:


1. On calcule la transformée directe � � du signal qui doit subir la compression � � .
2. On réalise la compression en rejetant les échantillons du signal � � inférieurs à un seuil
imposé
pour obtenir le signal � . On fait la quantification et on obtient le � � . Celui ci est le
�� signal �
résultat de la compression.
3. Pour la décompression, on calcule la transformée inverse du signal � � et on obtient le signal

�� � . Celui ci représente le signal reconstruit par l'opération inverse.

Le seuil dans l’étape 2 est choisie tel que l’erreur quadratique moyenne d'approximation du
signal � � par le signal �� � serait inférieure à un certain pourcentage de
l'énergie du signal
��.
3- Critères d’évaluation : 4
Dans la compression avec perte, l’image reconstruite n’est pas exacte à celle d’origine. Pour
cela, on remarque une légère différence qui ne peut pas être perçue par l’utilisateur.
Cette différence est tolérable tant qu’elle n’influe pas sur la qualité de l’image reconstruite.
Cette erreur ou différence dépend essentiellement du rapport de compression exigé.

��   ������
������

Pour évaluer la qualité de l’image reconstruite et qualifier sa dégradation d’une façon objective, on a
introduire des critères et des moyens d’évaluation de cette qualité.

On peut calculer donc les paramètres de compression suivantes :


 Le rapport de compression CR permettant de définir le rapport ������
� �′����
de compression � ���
=
������
������
������
 La profondeur du codage de couleur Bpp (ou bit par pixel) qui désigne le nombre de bits
nécessaire pour représenter un pixel de couleur (longueur moyenne).
�−1 �−1
 L’erreur entre l’image originale et reconstruite. ��� � �0 �, � −
��� �� (�, �)
�=0
=�
�=0
3- Critères d’évaluation : 4
Dans ce cas beaucoup de paramètres d’évaluation de la qualité d’image sont développés :
L’erreur quadratique moyenne (MSE) qui �−1
�−1
Qualité

permet d’évaluer la moyenne d’erreurs ��� �� � �, � (�, �) 2


entre l’image reconstruite et celle d’origine 1
= � � 0 −
en énergie : � × � =0 =0 ��

Le pique du rapport signal sur bruit



2
(PSNR) qui permet d’évaluer le pique de ���

(en dB)
� Qualité
l’intensité du signal d’origine par rapport à � = 10. �
la moyenne d’erreurs entre l’image ���10 �
reconstruite et celle d’origine : �

Le Structural SIMilarity (SSIM) est une


��� , .� , .� , Qualité
mesure de similarité entre les structures de
� = � � �0 � �0 �
�0 � � �
deux images reconstruite et originale: l est la luminance, c chrominance et s la structure.
On trouve aussi d’autres indices de qualité tel que : l’indice de similarité structurelle
multirésolution (MSSIM), l’indice de fidélité visuel (VIF), …
3- Critères d’évaluation : 4
3- Critères d’évaluation : 4
Exemples de qualités d’images : Calculer le CR, le BPP et le PSNR des images suivantes

Originale 256x256 Compressée Compressée


Taille = 2.97 ko CR = 22.05 CR = 5.28
Taille = 65.5 ko Taille = 12.4 ko
BPP = 0.36 BPP = 1.51
MSE = 32.344 MSE = 7.064
PSNR = 27.70 PSNR = 36.57
SSIM = 0.805 SSIM = 0.955
MSSIM = 0.959 MSSIM = 0.996
VIF = 0.346 VIF = 0.893
4- Description des différentes parties : 4
Le codage par transformée permet de changer la représentation des coefficients d’un signal d’une
base orthonormée vers une autre base mieux adaptée. L’objectif d’utiliser cette transformation est
d’introduire une décorrélation des coefficients du signal tout en gardant la conservation de l’énergie de
ces coefficients.
La transformée inverse permet donc de reconstruire le signal original en retrouvant les coefficients
primaires.
La quantification utilise le principe de l’approximation des coefficients sur une base orthonormée.
Elle consiste à utiliser une partition de l’espace du signal et remplacer ce signal par un représentant
de la classe à laquelle il appartient. Le signal final est alors reconstruite à l’aide des coordonnées
quantifiées.
La déquantification sert à retrouver l’echelle d’origine du signal selon les partitions d’approximations
utilisées.
Le codage entropique utilise les algorithmes de codage sans pertes pour assigner une
représentation binaire aux coefficients obtenus après transformée et quantification (Shannon-Fano,
Huffman, RLE, LZW,…).

 Les pertes d’information dans ces techniques de compression est sensible à la phase de quantification
permettant ainsi d’éliminer toute information inutile dans le signal.
 Ceci permet de créer une différence entre le signal d’origine et le signal reconstruit qui peut être qualifier et
évaluer selon les critères déjà cités,
5- Types et effets de la transformation : 4
Dans la transformation, le signal en entrée est soit pris au total (pour étudier la décorrélation totale)
soit décomposé en blocs (afin d’étudier la corrélation adjacente).
Dans ces méthodes, le signal monodimensionnel de dimension N ou image de dimension N × N est
subdivisée en blocs de taille réduite (afin de diminuer la quantité de calcul). Chaque bloc subit une
transformation mathématique orthogonale inversible linéaire du domaine spatial vers le domaine
spatial, fréquentiel ou spatio-fréquentiel.
Parmi les transformations linéaires existantes, on cite :
– Transformation de Karhunen-Loeve (TKL)
– Transformation de Fourrier discrète (TFD)
– Transformation en cosinus discrète (TCD)
– Transformation de Hadamard (TH)
– Transformation par ondelettes (TWD)
5-1- La Transformée Karhunen–Loève (KLT) : 4
La transformée de Karhunen–Loève (KLT ou Karhunen–Loève Transform) est une
transformation de la famille de l'analyse des données et plus généralement de la statistique
multivariée, qui consiste à transformer des variables liées entre elles (corrélées) en
nouvelles variables décorrélées les unes des autres.

La KLT est basée essentiellement sur l’analyse en composantes principales (PCA) de Karl Pearson
publié en 1901. Les champs d'application sont aujourd'hui multiples, allant de la biologie à la
recherche économique et sociale, et plus récemment le traitement d'images. Elle est
majoritairement utilisée pour:
 décrire et visualiser des données ;
 les décorréler, la nouvelle base est constituée d'axes qui ne sont pas corrélés entre eux ;
 les débruiter, en considérant que les axes que l'on décide d'oublier sont des axes bruités ;
 les compresser, en supprimant la redondance.
5-1- La Transformée Karhunen–Loève (KLT) : 4
Pour tout vecteur de données �� , �� , de dimension (n), la KLT est
�= �� , … ,
définie par : ��
où �� : est la moyenne du vecteur de la donnée originale.
�� : la matrice des vecteurs propres de la matrice d’autocorrélation.
� : la projection de � sur l’espace transformée.

Pour une information sous forme de matrice � de dimension (n × m), on veut trouver
�= �

une transformation linéaire �� pour compresser � vers � définie par la formule :

où �ഥ =��: est la moyenne du vecteur � ,


l’opérateur �( ) désigne l’espérance mathématique.
���
= � , �� , ∈ ��×� : est la transformation à trouver.
Pour reconstruire le signal d’origine (la décompression),
on utilise la formule :
5-2- La Transformée de Fourier Discrète (DFT) : 4
La transformée de Fourrier discrète (DFT ou Discrete Fourier Transform) est une transformation
est un outil mathématique de traitement du signal numérique, qui est l'équivalent discret de la
transformation de Fourier continue qui est utilisée pour le traitement du signal analogique.
Le mathématicien français Joseph FOURIER affirma en
1807, qu’il était possible, dans certaines conditions, de
décomposer une fonction périodique f sous la forme d’une
somme infinie de signaux sinusoïdaux développant ainsi le
principe de la série de Fourier (composante continue
principale et un ensembles d'harmoniques) :

La transformée de Fourier représente donc une fonction par sa densité spectrale (fréquence ou
pulsation) dont elle provient, en tant que moyenne de fonctions trigonométriques de toutes
fréquences.
La transformation de Fourier discrète (DFT) permet
seulement d'évaluer une représentation spectrale
discrète (spectre échantillonné) d'un signal discret sur
une fenêtre de temps finie (échantillonnage borné dans
le temps).
Algorithme de calcul pour la DFT :
Pour un signal de périodicité N, la transformée de Fourier de ce
signal est calculée par la multiplication matricielle avec une
4
matrice qui dépend uniquement de N (Matrice de
Vandermonde-Fourier).

Pour un signal de périodicité 4 tel que :


s(0) = 2, s(1) = 4, s(2) = –1, s(3) = 3, s(4) = 2 = s(0), s(5) = 4 = s(1)…

La transformée de Fourier de ce signal


va donc être la suivante :
Algorithme de calcul pour la DFT :
4

Le signal d’origine La transformée de Fourier de ce signal


5-3- La Transformée en Cosinus Discrète (DCT) : 4
La transformée en cosinus discrète (DCT ou Discrete Cosine Transform) est une
transformation proche de la transformée de Fourier discrète (DFT).
Son noyau de projection est un cosinus créant ainsi des coefficients réels, contrairement à
la DFT, dont le noyau est une exponentielle complexe et ces coefficients sont complexes.

A partir de la série de Fourier (composante continue principale et un ensembles d'harmoniques) :

Composante continue

Composantes Co-sinusoïdales Composantes Sinusoïdales


(réelles) (imaginaires)
5-3- La Transformée en Cosinus Discrète (DCT) : 4
La transformation en Cosinus Discrète (DCT) possède une excellente propriété de « regroupement »
de l'énergie : l'information est essentiellement portée par les coefficients basses fréquences en valeurs
réelles et non complexes.
Elle est donc très utilisée en traitement du signal et de l'image, et spécialement en compression. Pour la
décompression, on utilise la transformée en cosinus discrète inverse (IDCT).

 Ce genre de mécanisme est utilisé dans les standards JPEG et MPEG, qui utilisent une DCT
2D sur des blocs de pixels de taille 8x8 (pour des raisons de complexité).
 Les formats de compression de son avec perte AAC, Vorbis et MP3 utilisent une version
modifiée de cette technique, la transformée en cosinus discrète modifiée, TCDM (ou MDCT en
anglais).
 La DCT est aussi employée pour la résolution de systèmes d'équations différentielles par
des méthodes spectrales.
5-3- La Transformée en Cosinus Discrète (DCT) : 4
Il existe plusieurs légères variantes de la DCT. Voici les quatre types les plus connus :

La DCT-1 permettant de multiplier �� et ��−�


�par et
réciproquement (ou inversement) �� et ��−� par �ൗ � ce
qui rend cette transformée orthogonale.
La DCT-2 qui est la variante la plus courante et la plus utiliser. En
format orthogonal, on multiplie �� ��.
par ൗ

La DCT-3 est la transformée inverse de la DCT-2. Elle est plus


connue sous le nom de DCT Inverse (ou en anglais IDCT). Pour
la rendre orthogonale, on multiplier �� par �.

La DCT-4 est une matrice orthogonale.

Remarque : Une matrice carrée A orthogonale est une matrice


unitaire à coefficients réels vérifiant la relation :
�� × � = � × �� = ��
où �� est la matrice identité de taille n.
5-3- La Transformée en Cosinus Discrète (DCT) : 4
La DCT est une fonction linéaire inversible �� → �� ou d’une autre manière une
matrice
carrée N×N inversible.
En se basant donc sur la possibilité de décomposer la matrice de définition de la DCT sous
forme d'un produit de matrices, On obtient un calcul plus simple et on réduit le nombre de
multiplications scalaires pour développer des algorithmes plus rapide des transformées DCT.

L'application de la DCT (ou DFT) fait passer l'information du signal du domaine spatial en une
représentation identique dans le domaine fréquentiel. Une image classique admet une grande
continuité entre les valeurs des pixels, tel que :
Les hautes fréquences étant réservées à des changements rapides d'intensité du pixel
(généralement minimes dans une image).
De ce fait, on parvient à représenter l'intégralité de l'information de l'image sur très peu de
coefficients de basses fréquences (peu de changements rapides d’intensité du pixel).
La composante continue (valeur moyenne de l'image traitée) ayant une grande importance pour
l‘œil humaine.
La transformation matricielle DCT étant Orthogonale, elle s'accompagne d'une méthode d'inversion
pour pouvoir revenir dans le domaine spatial.
5-3- La Transformée en Cosinus Discrète (DCT) : 4
Pour calculer la DCT sur une matrice carrée NxN :

Où :
 DCT(i, j) est la valeur de la DCT au point de coordonnées (i, j) dans le bloc résultat
de 8×8 pixels.
 N est le nombre de pixels dans la largeur d’un bloc, dans la norme JPEG N = 8.
 pixel(x, y) est la valeur du pixel de coordonnées (x, y) dans le bloc de l’image
originale de 8×8 pixels.
 et les coefficients C(i) et C(j) sont calculés par :

Pour calculer la IDCT sur une matrice carrée NxN :


5-3- La Transformée en Cosinus Discrète (DCT) : 4
Une bonne manière d'implémenter la DCT par blocs est de créer une matrice de la
transformée de cosinus C, tel que :

La transformée 2D par bloc 8x8 se réduit à


deux multiplications matricielles, ou la matrice
Ct est la transposée de C :

Exemple pratique sur un cas monodimensionnel (1D) :

Soit le signal x défini par :

La matrice C, qui est une matrice


orthogonale, est définie par :
5-3- La Transformée en Cosinus Discrète (DCT) : 4
La matrice C peut être représentée aussi comme suite :

La 1ère ligne de la matrice 2*C : La 2ème ligne de la matrice 2*C :

La 3ème ligne de la matrice 2*C : La 4ème ligne de la matrice 2*C :


5-3- La Transformée en Cosinus Discrète (DCT) : 4
Sur le principe, la DCT monodimensionnelle
correspond à la multiplication du signal �
par
C. On obtient donc un signal � tel que :
Sur ces résultats, on effectue 3 remarques :
1. Le signal résultant est dé-corrélé, ces valeurs sont plus éloignées les unes des autres.
2. Le premier coefficient (DC) est la valeur la plus grande qui correspond à la composante
continue du signal d’origine.
3. Les autres coefficients ont des valeurs de plus en plus faibles correspondant une
projection sur des fréquences de plus en plus grandes. Ils apportent donc de plus en plus
de précision sur la forme du signal ou des détails de hautes fréquences.

L’énergie du signal original est :


L’énergie du coefficient DC du signal résultant est :
L’énergie des coefficients AC du signal résultant est :

Le coefficient DC contient donc 89% de l’énergie du signal original.


5-3- La Transformée en Cosinus Discrète (DCT) : 4
Exemple sur un cas deux dimensions (2D) :

Le signal décorrélé
résultant est :

Dans le cas d’une image 8x8 pixels uniforme :

La transformée en DCT
5-3- La Transformée en Cosinus Discrète (DCT) : 4
Dans le cas
d’une image
8x8 pixels :

L’image
originale

La transformée
en DCT
5-4- La Transformée en Ondelettes Discrète (DWT) : 4
La transformée en ondelettes est similaire à la transformée de Fourier (la transformée de
Fourier locale). La différence principale est que la TF décompose le signal en sinus et en
cosinus (fonctions localisées dans l'espace de Fourier), par contre la TO utilise des fonctions
localisées à la fois dans l'espace réel et dans l'espace de Fourier.
+∞
La Transformée de Fourier est : � � � � �−����� ��
=න
−∞

La Transformée de Fourier à fenêtre glissante est :

+∞
� � =න � � �−����� �(� − �)��
−∞

L'inconvénient de la transformation de Fourier est


la taille de la fenêtre fixe.
5-4- La Transformée en Ondelettes Discrète (DWT) : 4
Jean Morlet vers 1975 pour la détection de
nappes de pétrole a proposé d'utiliser une fenêtre
de taille dépendant de la fréquence analysée mais
avec un nombre d'oscillations fixe (comme un
accordéon)
La Transformée en ondelettes est donc :
+∞

� (�)��
� � ∗
� �,
� =න ,

−∞

� =  �− �
avec

�, � �

 « a » est le paramètre d'échelle qui joue le rôle de la fréquence dans la transformée de


Fourier à fenêtre (a petit => des fréquences élevées et inversement).
 « b » est le paramètre de translation qui joue le rôle de la position de la fenêtre dans la
transformée de Fourier à fenêtre correspondant donc à l'axe des temps.
5-4- La Transformée en Ondelettes Discrète (DWT) : 4
La transformée en ondelettes s’exprimée donc :

où le symbole * désigne le conjugué complexe de la


fonction ondelette �,� avec � est le facteur de
translation et
� le facteur de dilatation.

En mathématique, une ondelette est une fonction de carré sommable de l'espace de Hilbert , le plus
souvent oscillante et de moyenne nulle, choisie comme outil d'analyse et de reconstruction multi-
échelle.
Les ondelettes se rencontrent généralement par familles d’ondelettesℝ+∗ × ℝ, )à
ondelette mère et de l'ensemble de ses images. partir de
l'ondelette mère :
On définit ainsi une famille d'ondelettes
�,� (où (�, �) ∈
constituées d'une
5-4- La Transformée en Ondelettes Discrète (DWT) : 4
Pour adapter la transformée en ondelettes dans le cas d’un ensemble discret (DWT), on
doit échantillonner � sur une échelle dyadique et � :

La compression est réalisée alors par approximations successives de l'information initiale


du plus grossier au plus fin.

La décomposition en ondelette d'un signal g


consiste à calculer les produits scalaires :

La recomposition du signal s'obtient alors par :


5-4- La Transformée en Ondelettes Discrète (DWT) : 4
Concept de l’ondelette :
En 1909, Alfred Haar propose ce que l'on considère comme la première ondelette même si ce terme
apparaît bien plus tard. L'ondelette de Haar est la plus simple à comprendre et à implémenter.
Nous pouvons appliquer une première décomposition en isolant les éléments deux par deux en
calculant deux entités :
 Les moyennes pour déterminer les approximations. � = � + � /�
 Les différences (pour déterminer les détails) simplement opposées (+ ou -). � = � − � /�

Pour la reconstitution, on
procède inversement en
utilisant les moyennes et les
Pour notre cas, on garde la première détails.
détails (-1). Pour la deuxième paire de � = � − � /�
valeur (Moy=13 et détails=+2)
�= � + � /�
5-4- La Transformée en Ondelettes Discrète (DWT) : 4
Un autre exemple de
décomposition de Haar :

Moyenne = (x+y)/2
Détail = (x-y)/2
5-4- La Transformée en Ondelettes Discrète (DWT) : 4
La transformée en Haar sur une image se fait en
deux modèle :
 Une transformation rectangulaire.
 Une transformation carrée ou dyadique.

La transformation de Haar n'est pas continue, elle fait


apparaître des blocs après une quantification excessive et
les taux de compression sont faibles.

Pour améliorer cela, une autre famille d'ondelettes est employée : les ondelettes de Daubechies.
nommées d'après leur créatrice Ingrid Daubechies (nommée dbN).
5-4- La Transformée en Ondelettes Discrète (DWT) : 4
L’ondelette de Meyer, proposée par
L'ondelette de Morlet (ou Yves Meyer en 1990.
de Gabor) utilisé par Jean
Morlet en 1984 à partir de
la transformée de Gabor.

L’ondelette de chapeau Mexicain


(Ricker wavelet).
5-4- La Transformée en Ondelettes Discrète (DWT) : 4
Dans la norme Jpeg2000 et pour décomposer une image, on
utilise deux filtres issus du choix d'ondelette : un filtre passe-
haut et un filtre passe-bas :
 Pour la compression avec perte, l’ondelette de type
CDF 9/7 est utilisée (Cohen-Daubechies-Fauvaue dans
le cas d'une transformation irréversible).

 Pour la compression sans perte, on utilise l’ondelette


de type Spline 5/3 de Le Gall (permettant une
transformation reversible).

Les nombres 9 et 5 correspondant au nombre d'éléments du


filtre passe-bas. Les nombres 7 et 3 correspondant au
nombre d'éléments du filtre passe-haut.

pour la CDF 9/7 :


5-4- La Transformée en Ondelettes Discrète (DWT) : 4
Avec l’ondelette de Haar, on a :

(�) fournit le détail ou la différence (filtre passe-bas)


et � � fournit l’approximation ou la moyenne (filtre passe-haut).

La matrice de Haar 2x2 : La matrice élémentaire de Haar 4x4 : La matrice de transformation H4

La matrice de
transformation H2

La transformée directe de Haar


d’un signal xn :
La transformée inverse de Haar :
5-4- La Transformée en Ondelettes Discrète (DWT) : 4
La matrice de transformée de Haar est représentée par :
5-4- La Transformée en Ondelettes Discrète (DWT) : 4
La matrice de transformée de Haar est représentée par :
5-4- La Transformée en Ondelettes Discrète (DWT) : 4
Schéma de décomposition DWT

Pour un signal définit par :

La transformée directe du signal : La transformée inverse de Haar :


5-4- La Transformée en Ondelettes Discrète (DWT) : 4
Pratiquement la transformée en ondelettes consiste à décomposer le signal par les filtres
� et � puis chaque décomposition subit une décimation d’un facteur 2, conduisant aux
résultats approximations et détails �(�) et �(�).
Les filtres � et � sont appelés les
filtres d’analyse ou banc de filtres
d’analyse ou � est un filtre linéaire et
� son filtre miroir.
Les filtres � et sont les versions retournées



des filtres précédents (inverses).

La transformée de Haar correspond au filtrage par deux filtres de Haar � et � de coefficients :


5-4- La Transformée en Ondelettes Discrète (DWT) : 4

 Par calcul des moyennes et des différences :

 Par calcul matriciel :

 Par transformée de Haar (Matlab) :

 Par transformée à filtres


de Haar (Matlab) :
5-4- La Transformée en Ondelettes Discrète (DWT) : 4
Pour le cas d’un signal 2D (n x n), le calcul sera :
La transformée directe La transformée inverse

A H

V D
5-4- La Transformée en Ondelettes Discrète (DWT) : 4
Pour un exemple de matrice 4x4 :
1ère décomposition en ligne

Décomposition de second niveau


2ème décomposition en colonne (lignes puis colonnes)

Cette méthode se nomme la décomposition séparable (on sépare


la décomposition des lignes par rapport aux colonnes).
5-4- La Transformée en Ondelettes Discrète (DWT) : 4
Pour le cas d’une image :
5-4- La Transformée en Ondelettes Discrète (DWT) : 4
Pour améliorer l’analyse géométrique des textures, on trouve une autre catégorie de transformée en
ondelettes, les ondelettes seconde génération :

 Technique de Lifting : Le procédé d’élévation (lifting) décrit ici a


pour avantage d’avoir une complexité très faible (moins de calcul).
Son principe repose sur la séparation des valeurs paires par rapport à
celle impaire.

Exemple avec Matlab

 Transformées géométriques qui sont des transformées basées sur l’aspect géométrique de
l’analyse (Rigelet, Bandelet, Contourlet, Curvelet, …).
6- Types et effets de la quantification : 4
Le but de la quantification est, à partir d'une valeur d'entrée donnée d'un
espace E, de déterminer la valeur la plus proche dans l'ensemble F d'arrivée.
Ceci permet donc de réduire le nombre d’occurrences en nombre basé sur un dictionnaire de quantification.
On distingue plusieurs types de quantification :

La quantification scalaire lorsque la modification des coefficients est de dimension 1 par rapport à
chaque occurrence. Il existe plusieurs méthodes pour choisir les coefficients à garder :

 Quantification scalaire par échelle : on garde


seulement les coefficients correspondants à une
échelle de quantification (arrondissement).
6- Types et effets de la quantification : 4
Si on reprend l’exemple de la transformée DCT précédent :

Signal d’origine Signal transformé

Quantification scalaire sur une échelle absolue de 8 valeurs [0 1 2 3 4 5 6 7 8]

Signal quantifié
Signal reconstruit
(DCT inverse)

MSE = 0.48
6- Types et effets de la quantification : 4
 Quantification scalaire par Seuil : on définit une valeur fixée à priori (Threshold) qui
permettra d’annuler toutes les valeurs inférieures à celle-ci.

Si on reprend un exemple de la transformée DWT :


Soit le signal rampe suivant :

Les coefficients d’ondelettes Haar avec 1 niveau calculés par Matlab dwt(x,’haar’) :

Signal reconstruit en Matlab idwt(A,D,’haar’)


MSE = 1.33
PSNR = 21.68 dB
6- Types et effets de la quantification : 4
 Quantification scalaire par Nombre : on définit un nombre de valeur à garder parmi
l’ensemble des coefficients, Dans ce cas le seuil est définie par rapport au nombre et non
pas le niveau de valeur (on peut utiliser un pourcentage %).

Toujours avec l’exemple précédent de la transformée DWT :

Les coefficients quantifiés seront calculé par rapport au nombre 5/8 (càd on doit garder
uniquement 5 coefficients sur 8) :

Signal reconstruit en Matlab idwt(A,D,’haar’)


MSE = 1.3125
PSNR = 21.74 dB
6- Types et effets de la quantification : 4
 Quantification scalaire par Matrice : on multiplie les coefficients par une matrice qui
affaiblit certains et annule les plus faibles (Matrice JPEG).
Exemple de transformée DCT deux dimensions (2D) :

Le signal transformée est :


� = ����(�)

La matrice de quantification JPEG est calculée par la formule :


�(�, �) = � + (� + � + �) × ������é

Quantification matricielle
�(�, �)
�� �, � = �����
�(�,�)
7- Normes et organismes de la compression : 4
Parmi les organismes de normalisation, on peut citer :
 UIT (Union Internationales de Télécom),
 ISO (International Standard Organisation),
 CCITT (Comité Consultatif International Télégraphique et Téléphonique),
 CCIR (Comité Consultatif International pour la Radiodiffusion).

Standards du son :
Standards d’image fixe : 1987-88 : Norme G.711 - IUT-REC-G.711 (compression audio par
1992 : La norme JPEG (Joint Photographic codages PCM-U et PCM-A).
Expert Group) 1991 : Deux formats étaient disponibles (MUSICAM et ASPEC).
2000 : La norme JPEG 2000 1992 : La norme AC-3 (compression numérique pour le son).
1993 : La norme AAC - ISO/CEI 13818-7 (une extension du MPEG-2).
1999 : La norme MP3 - ISO/CEI 11172-3 (ou MPEG-1/2 Audio Layer
III) pour la compression du son numérique.
Standards Vidéo :
Standards de Visiophonie :
1988 : fondement de MPEG (Moving Picture Coding Experts Group)
1990 : La norme H261 pour la téléphonie
1993 : La norme MPG1 (qualité VHS sur un CD-ROM)
visuelle sur le RNIS (formats CIF et QCIF
1994 : La norme MPEG2 (vidéo pour application télévisuelle)
1996 : La norme H263 (formats image SQCIF,
1998 : La norme MPEG4 (TV Haute définition)
4CIF, 16CIF)
2000 : La norme MPEG7 (pour le multimédia)
7- Normes et organismes de la compression : 4
 Les formats de compression de données tels que Zip, RAR, Gzip, Png, JPEG-LS et Monkey's Audio
utilisent des normes de compression sans perte.
 Les formats de compression tels que ADPCM, MP3, JPEG, JPEG2000, MPEG2 et MPEG4 utilisent des
normes de compression avec perte.
5- Techniques de compression d’images :
(4 semaines)
La norme JPEG concept et historique
Principe détaillé de la compression JPEG (Découpage,
DCT, Matrice de quantification, Balayage en zig-zag, Codage
entropique)
Evaluation et complexité du JPEG (MSE, PSNR, SSIM, …)
La norme JPEG2000 concept et historique
Principe détaillé de la compression JPEG2000 (La
transformé en ondelette DWT, Quantification, Codage progressif
EBCOT, EZW et SPIHT)
Evaluation et Evolution (types d’ondelettes)
1- La norme JPEG concepts et historique : 5
Le mode de compression bien connu JPEG a été́ normalisé au milieu des années
1980, à l’initiative du Joint Photographic Experts Group.
Le format JPEG permet de compresser les images en utilisant la transformée en
cosinus discrète (DCT) et ainsi décompresser et de visualiser des images à l’aide
d’un navigateur web standard avec un taux de compression paramétrable.

La norme JPEG fut créée en 1986 et définie par


ISO/IEC international standard 10928-1. Après avoir
évaluer des schémas de codage, le group JPEG a
choisi la méthode DCT en 1988, Entre 1988 et 1990,
Le group continue à tester et évaluer la simulation de
l’algorithme. Le JPEG est devenu un projet
international standard (DIS) en 1991 et un Standard
international (IS) en 1992.
http://www.jpeg.org/
1- La norme JPEG concepts et historique : 5
JPEG-LS (Lossless JPEG) est une norme de compression sans perte (donc réversible),
basée sur l'algorithme LOCO-I (LOw COmplexity LOssless COmpression for Images) et
évaluée par le Joint Photographic Experts Group en etant publiée comme norme
internationale par l'ISO (ISO/CEI 14495-1) en 1999 et l'UIT (T.87) en 1998 avec extensions
ISO/IEC 14495-2 en 2003 et ITU-T Rec. T.870 en Mars 2002.
Dans JPEG-LS la compression est réalisée par la combinaison d'un codage adaptatif
(extension des codes de Golomb) avec un codeur entropique proche du codeur de
Huffman pour les zones à faible entropie.

JBIG (Joint Bi-level Image experts Group ) est la norme de compression sans perte
destinée aux images ne comptant que deux tons de couleur (par exemple les images de
fax). JBIG publiée par l'ISO et développée initialement par le groupe Joint Bi-level Image
experts Group est regroupé aujourd'hui avec JPEG.
Le JBIG a été normalisé sous ISO/IEC 11544 en 1993 (ITU-T T.82 en mars 1993) et qui
peut être aussi utilisé pour la compression sans pertes des images niveaux de gris et
couleur avec un nombre limité de bits par pixel.
Son successeur est le JBIG2 pour le format d’images à deux niveaux (black/white) rendu
public en Février 2000 par l’UIT sous la dénomination de ITU-T T.88 et normalisé en 2001
sous le nom d’ISO/IEC 14492.
1- La norme JPEG concepts et historique : 5
JPEG-XR (extended range connu précédemment sous le nom Windows Media Photo et
HD Photo) est un algorithme utilisant une transformée bi-orthogonale hiérarchique réversible
(L-LT). Cette transformée est sans perte et utilise un nombre réduit d’opérations sur des
entiers pour le codage et le décodage basée sur des blocks de 16×16.
Sa phase de normalisation est la suivante :
 JPEG-XR - System architecture (ISO/IEC IS 29199-1) en 2011
 JPEG-XR - Image coding specification (ISO/IEC IS 29199-2) en 2012 et (ITU-T T.832) en 2012
 JPEG-XR - Motion JPEG XR (ISO/IEC IS 29199-3) en 2010 et (ITU-T T.833) en 2010
 JPEG-XR - Conformance testing (ISO/IEC IS 29199-4) en 2010 et (ITU-T T.834) en 2010
 JPEG-XR - Reference software (ISO/IEC IS 29199-5) en 2012 et (ITU-T T.835) en 2014

JPEG-XT est en cours de développement pour la


compression d'image à grande gamme dynamique, qui
comprennent beaucoup de nuances de couleurs (High
Dynamic Range ou HDR). Cette norme code l'image
HDR en utilisant le codage JPEG conventionnel
comme couche de base et code les informations
HDR supplémentaires dans une couche résiduelle.
1- La norme JPEG concepts et historique : 5
La norme JPEG-XS à venir offrira un système de codage d'images léger à faible latence
capable de prendre en charge une résolution accrue (telle que 4K ou 8K) et une fréquence
d'images d'une manière rentable.
Un appel à la normalisation a été lancé le 11 Mars 2016 maintenu par la secrétariat du
groupe SC29/WG1.

Actuellement, le travail de JPEG-AIC (Advanced Image Coding) a abouti à deux normes


(ISO / IEC 29170-1 et ISO / IEC 29170-2).
L'ISO / CEI 29170-1 fournit un cadre qui permet d'évaluer la pertinence des algorithmes
de compression d'images dans divers domaines d'application. Cette norme vise à fournir
un ensemble d'outils d'évaluation permettant de tester et de comparer plusieurs
caractéristiques des codecs.
La deuxième norme, ISO / CEI 29170-2, définit un ensemble de procédures d'évaluation,
similaires à celles de la norme ITU-R BT.500-11 pour l'évaluation de la qualité subjective
avec les normes de télévision.
1- La norme JPEG concepts et historique : 5
MPEG (Moving Picture Experts Group) est le groupe de travail SC 29/WG 11 du comité
technique mixte JTC 1 de l’ISO et de la CEI pour les technologies de l’information.
Ce groupe d’experts est chargé du développement de normes internationales pour la
compression, la décompression, le traitement et le codage de la vidéo, de l’audio et de leur
combinaison, de façon à satisfaire une large gamme d’applications.

MPEG-1 (ISO/IEC 11172) définie en 1988 comme étant la première norme audio et vidéo utilisé
plus tard pour les Vidéo CD. Ce format offre une définition à l’écran de 352 x 240 pixels à 30
images par seconde ou de 352 x 288 à 25 images par seconde avec un débit d’environ 1,5
Mbit/s. Elle comprend aussi le format audio MPEG-1 partie 3 audio couche 3 (MP3).

MPEG-2 (ISO/IEC 13818) définie en 1994 pour le codage de l’audio et la vidéo, ainsi que leur
transport pour la télévision numérique : télévision numérique par satellite, télévision numérique
par câble, télévision numérique terrestre, et pour les vidéo-disques DVD ou SVCD. Les débits
sont de 2 à 6 Mbit/s pour la définition standard (SD) et de 15 à 20 Mbit/s pour la haute
définition (HD).
1- La norme JPEG concepts et historique : 5
MPEG-4 (ISO/IEC 14496) définie à partir de 1999 pour bas débits (jusqu’à 2 Mbit/s) et de
coder des objets vidéo/audio, le contenu 3D et inclut le DRM.
• La partie 2 de MPEG-4 (Visual) est compatible avec la partie baseline de H.263.
• La partie 10 appelée MPEG-4 AVC ou H264, développée à partir de 2003.
• Le H.265/HEVC définie à partir de 2013, est la norme qui succède au H264.

MPEG-7 (ISO/IEC 15938) pour l'indexation et la recherche de documents multimédia et MPEG-21


(ISO/IEC 21000) pour proposer un ensemble d'outils et d'objets indépendant de toute architecture
matérielle ou de système.
1- La norme JPEG concepts et historique : 5
JPEG-Pleno un système de codage d'image plenoptique (proposé par Adobe
en 2007) vise à fournir un cadre standard pour représenter de nouvelles
modalités d'imagerie, telles que la texture et la profondeur, le champ
lumineux, le nuage de points et l'imagerie holographique.
Pour sa normalisation, un appel a été lancé en Mai 2017 sous la maintenance
du group SC29/WG1.
2- Principe détaillé de la compression JPEG : 5

Dans la phase de découpage,


l’image initiale est découpée en blocs
de 8 × 8 pixels (définie par la norme).
Ce découpage permet de réduire le
temps de calcul.

Dans la phase de transformation de couleurs et pour optimiser la compression de l’image, on


transforme l’image du mode RGB en mode YUV.
Le mode YUV utilise les plans : Luminance (Y) et Chrominance (U pour le rouge et V pour le bleu).

Dans la phase du Sous-échantillonnage, on sous-échantillonne les plans U et V d’au moins


un facteur 2 et le plan Y reste intact car l’œil est peu sensible aux variations de chrominance.

Dans la phase de transformation DCT, on applique la DCT sur chacun des blocs de 8
× 8 pixels précédemment définis ce qui donne à nouveau un bloc de 8 × 8 pixels décorrélé.
2- Principe détaillé de la compression JPEG : 5

Dans la phase de la Quantification, on se permet d’éliminer certaines valeurs d’un signal dont
l’influence est faible pour la reconstruction de celui-ci (moins significatives).
Grace à cela, on peut jouer sur le taux et la qualité de compression.
Cette quantification est réalisée par une matrice de quantification Q de la taille 8 × 8. Elle
s’applique sur un bloc de la DCT de telle sorte que :
La matrice de quantification Q est définie par
le facteur de qualité Fq :
2- Principe détaillé de la compression JPEG : 5

Pour un facteur de qualité Fq = 5, la matrice


de quantification Q sera :
2- Principe détaillé de la compression JPEG : 5

Dans la phase de la Codage, on transforme les valeurs numériques en


bits. Dans la norme JPEG , le codage se décompose en trois phases :
1- Le parcours en zigzag pour transformer le bloc de 8 × 8
pixels en un vecteur selon le modèle suivant :
2- Le Codage RLE pour réduire spécialement les suites de
valeurs nulles issues de la quantification.
3- Le Codage Huffman pour attribuer des bits aux différentes
valeurs numériques retrouvées.
2- Principe détaillé de la compression JPEG : 5
Exemple de compression d’image niveaux de gris avec la norme JPEG :
Y=R=G=B

Image LENA 512x512 Le sous-échantillonnage (Y_128 = Y – 128) permet


d’obtenir la matrice :

La matrice du bloc est :


2- Principe détaillé de la compression JPEG : 5
Exemple de compression d’image niveaux de gris avec la norme JPEG :

La transformation DCT :

Image LENA 512x512 La quantification (Fq = 15) donne la matrice :

La matrice DCT sera :


2- Principe détaillé de la compression JPEG : 5
Exemple de compression d’image niveaux de gris avec la norme JPEG :
La transformation DCT :
La matrice quantification (Fq = 15) :

Le vecteur en Zigzag sera :

Le codage RLE donne :


2- Principe détaillé de la compression JPEG : 5
Exemple de compression d’image niveaux de gris avec la norme JPEG :

Le codage Huffman donne le vecteur de probabilité :

Le dictionnaire Huffman sera :

Le message binaire en Huffman sera :

Taille de l'image brute : 8*64 = 512 bits en mode grayscale (en mode RGB = 3x8x64 = 1536 bits).
Taille du code RLE : 33*8 = 246 bits (une réduction de 52%).
Taille du code Huffman : 84+12x8+50+8 = 238 bits (une réduction de 54%).
Avec codage Huffman amélioré : 197 bits (une réduction de 61,5%).
2- Principe détaillé de la compression JPEG : 5
Sur l’image globale :

Image compressée en Grayscale (Fq=15)


RLE : 42,8 Ko (-83,7%)
Huffman : 36,2 Ko (-86,2%)
Image Brute en Grayscale (262 Ko) en RVG (786 Ko) Huffman amélioré : 33,3 Ko (-87,3%)
2- Principe détaillé de la compression JPEG : 5
2- Principe détaillé de la compression JPEG : 5

Image compressée en Grayscale (Fq=10)


RLE : 35,5 Ko (-86,5%)
Huffman : 31,5 Ko (-88%)
Huffman amélioré : 29,6 Ko (-88,7%)
Image compressée en couleur (Fq=10)
RLE : 75 Ko (-90,5%)
Huffman : 76 Ko (-90,33%)
Huffman amélioré : 74,2 Ko (-90,6%)
3- Evaluation et complexité du JPEG : 5
L’objectif de cette exemple est d’étudié et évaluer la compression JPEG (DCT) sous Matlab,

Les phase importantes d’un tel exemple sont :

1- Charger l’image à compresser,


2- Transformation et sous-échantillonnage de l’image
(RGB-> YUV),
3- Décomposition en Blocks de taille 8*8,
4- Calcul de la transformée DCT directe pour chaque
Block,
5- Quantification des blocks obtenus,
6- Lecture de Block en zigzag (Block -> vecteur),
7- Codage entropique (RLE et Huffman).
3- Evaluation et complexité du JPEG : 5
Remarque :
Le codage huffman s’applique sur toute l’image
(tous les blocks à la fois).
Pour calculer le rapport de compression, on a :
Original_Image = n*m*8,
Compressed_Image = sum(Y_huff)/8 ,
Donc
CR = Original_Image / Compressed_Image

La décompression JPEG (DCT inverse) sera le


contraire.

On doit aussi compléter le programme pour


traiter tous les blocks (travail à domicile).
3- Evaluation et complexité du JPEG : 5
La décompression JPEG (DCT inverse) sera :
%===== Load original image =====
X =[255 255 … 255 255];
n=8;m=8;
%===== JPEG Encoder =====
xBlock=X;
Y_DCT = W*xBlock*W';
q_DCT = (round(Y_DCT./Q));
z_DCT = q_DCT(zigzag);
Y_rle = rle(Y_vect);
[Y_huff, dict] = huffman_encoder(Y_rle);
%===== JPEG Decoder =====
Y_irle=huffman_decoder(Y_huff,dict);
Y_ivect=irle(Y_irle);
q_iDCT=vec2mat(Y_ivect(rev_zigzag),8)';
Y_iDCT = (q_iDCT).*Q;
Xc = W'*Y_iDCT*W;
%==== afficher les deux images ====
colormap(gray(255));
subplot(1,2,1); image(X); title('Original Image');
subplot(1,2,2); image(Xc); title('Construct Image');
%==== calculer les paramètres de la compression ====
Original_Image = n*m*8;
Compressed_Image = sum(Y_huff)/8;
D = abs(double(X) - double(Xc)).^2;
MSE = sum(D(:))/numel(X);
PSNR = 10*log10(255*255/MSE);
CR = Original_Image/Compressed_Image;
BPP = 8 * Compressed_Image/Original_Image;
CR = 7.65, BPP = 1.05, MSE = 85.77, PSNR = 28.79 dB
3- Evaluation et complexité du JPEG : 5

Qualité = 10
CR = 12.19, BPP = 0.65,
MSE = 1.73e+3, PSNR = 15.73 dB

Qualité = 70 Qualité = 90
CR = 7.65, BPP = 1.05, CR = 2.03, BPP = 3.93,
MSE = 85.77, PSNR = 28.79 dB MSE = 16.53 PSNR = 35.95 dB
3- Evaluation et complexité du JPEG : 5
Evaluation de la qualité de la compression en fonction du rapport de compression
3- Evaluation et complexité du JPEG : 5
Evaluation de la qualité de la compression en fonction du bits par pixel
4- La norme JPEG2000 concepts et historique : 5
En Mars 1997, un nouveau appel de collaboration est lance pour le développement d’un nouveau
standard pour la compression des images, le JPEG2000. Le projet appelé JTC2 1.29.14 (15444) était
destiné à créer un nouveau système de codage d'image pour différents types d'images fixes (images
naturelles, scientifiques, médicales, textuelles, …etc.).
La standardisation en coordination avec le JTC1/SC29/WG1 du ISO/IEC3 a commencé en Aout 2000
pour produire le projet final du standard international (FDIS) et un Standard international (IS) en
Décembre 2000 sous la norme JPEG2000 définie par ISO/IEC international standard 15444-1.

Il est possible d’utiliser deux types de transformées en ondelettes dans JPEG 2000.
 L’ondelette 5/3 ou de Le Gall est une ondelette dont les coefficients des filtres
d’analyse sont entiers. Il y a 5 coefficients pour le filtre passe-bas et 3 pour
le passe-haut. Ces filtres permettent une reconstruction parfaite et peuvent être
utilisés pour une compression sans pertes.
 L’ondelette 9/7 ou Ondelette de Daubechies est à coefficients réels, avec 9
coefficients pour le passe-bas et 7 pour le passe-haut. Elle permet de meilleures
performances que la 5/3 en termes de compression mais est aussi plus complexe.

JPEG 2000 est abrégé JP2 (quelquefois J2K), elle permet l’implémentation de ces filtres soit par
une classique convolution ou par la méthode du lifting.
5- Principe détaillé de la compression JPEG2000 : 5

La phase de la transformation de couleurs et Sous-échantillonnage sont les mêmes que


pour la norme JPEG.

Dans la phase de transformation DWT, on applique la DWT sur toute l’image. Elle subit donc
une série de décomposition grâce à des filtres (passe-bas et passe-haut).

Dans la phase de la Quantification, on utilise le même principe que celui du JPEG mais
cette fois-ci sur chacune des sous-imagettes.
Le pas de quantification diminue à mesure que l’approximation est de plus en plus grossière
pour avoir une plus grande précision sur les valeurs des basses fréquences.
Dans la phase de Codage, Les techniques d’encodage d’une image résultant d’une DWT
sont donc identiques à celles définies pour le JPEG.
5- Principe détaillé de la compression JPEG2000 : 5
Le schéma bloc du standard JPEG2000 est le suivant : Codeur EBCOT

JPEG2000 utilise une quantification scalaire.

L'algorithme EBCOT (Embedded Block Coding with Optimal Truncation), inventé en


1998 par David Taubman. Cet algorithme est un codeur par plan de bits.
Exemple de compression d’image grayscale avec JPEG2000 :
6- Evaluation etbasé
Exemple Evolution
sur Wavelet:de Haar 2-D.
5
Décomposition 1 niveau
TC = 71,18%

Décomposition 3 niveaux
TC = 50,66%

Image Brute en Grayscale


(262 Ko)

Décomposition 2 niveaux
TC = 64,82%
6- Evaluation et Evolution : 5
Pour le cas de l’image Grayscale :
������ �����
�������� =
���������
������ ����� ��������é�

�� =
�� ��������
���


���� = ��
� × �����

�−� �−�


�� �� �
�= �=��


�� �, �
� =�
� − ��
� �, �

http://www-ljk.imag.fr/membres/Valerie.Perrier/SiteWeb/node22.html
6- Evaluation et Evolution : 5
Pour le cas de l’image Grayscale :

http://www-ljk.imag.fr/membres/Valerie.Perrier/SiteWeb/node22.html
6- Evaluation et Evolution : 5

Pour le cas de l’image Couleur :


6- Evaluation et Evolution : 5
Avec un taux de compression élevés en JPEG, on distingue l’effet des blocs et dans la JPEG2000 l’effet de
flou. L´effet de la compression des deux normes n´est par contre pas comparable dans les deux cas :

En JPEG, on ajoute du bruit à haute


fréquence ce qui crée des pixels de
mauvaise couleur, surtout lorsque le
contraste est important.

En JPEG2000, le bruit est de plus


basse fréquence faisant apparaitre
des auréoles autour des mêmes
zones de fort contraste.
6- Evaluation et Evolution : 5
D’autres algorithmes de codage associés avec la compression en ondelettes sont :

EZW (Embedded Zerotree Wavelet)

SPIHT (Set Partitioning in Hierarchical Trees)

WDR (Wavelet Difference Reduction)

Vous aimerez peut-être aussi