AccueilđŸ‡«đŸ‡·Chercher

Lifting en ondelettes

Un lifting en ondelettes est, en mathĂ©matiques, un schĂ©ma d’implantation d’une transformation en ondelettes un peu diffĂ©rent de celui plus habituel rĂ©alisĂ© par les bancs de filtres.

Le lifting en ondelettes est l’expression retenue pour dĂ©signer le procĂ©dĂ© d’amĂ©lioration des propriĂ©tĂ©s des ondelettes par utilisation rĂ©ciproque des bandes passe-bas et passe-haut. On obtient ainsi une transformation qui, Ă  partir d’une ondelette Ă  (admettons) moments nuls, produit une transformĂ©e dont les propriĂ©tĂ©s sont similaires Ă  une ondelette Ă  moments nuls supĂ©rieur Ă  .

Avantages et applications

Le procĂ©dĂ© d’élĂ©vation (lifting) dĂ©crit ici a pour avantage d’avoir une complexitĂ© trĂšs faible, de l’ordre de la moitiĂ© de celle de la transformĂ©e rapide de Fourier FFT. La transformation peut ĂȘtre effectuĂ©e in situ, c’est-Ă -dire sans utilisation de mĂ©moire supplĂ©mentaire. On perd cependant la propriĂ©tĂ© d’invariance par translation.

Cette technique de transformation est notamment utilisĂ©e dans l’algorithme de compression d’images JPEG2000, et trouvera d’autres applications dans le traitement numĂ©rique du signal en gĂ©nĂ©ral et la transmission ou le stockage de donnĂ©es Ă©chantillonnĂ©es (notamment la compression du son, ou de mesures physiques de prĂ©cision).

Introduction

Le but de ce document est de synthĂ©tiser de façon concise les techniques et connaissances permettant la rĂ©alisation de la transformation version lifting en ondelettes, et en particulier, de rĂ©aliser la transformation d’entiers en coefficients d’ondelettes entiĂšres. Voir en fin d’article les rĂ©fĂ©rences essentielles aux articles thĂ©oriques et tutoriels.

Transformée en ondelettes version lifting

Description générale de la transformée en ondelettes version lifting

La transformation en ondelettes version lifting est un processus permettant entre autres d’optimiser le nombre d’opĂ©rations Ă  exĂ©cuter et l’occupation mĂ©moire (le coĂ»t de calcul est la moitiĂ© du coĂ»t de calcul de la FFT !).

Le processus le plus courant pour obtenir une transformation en ondelettes est d’utiliser un banc de filtres (cf. Figure 1), cependant lorsqu’on regarde cette façon de procĂ©der on constate que l’on effectue un sous-Ă©chantillonnage par deux aprĂšs une opĂ©ration de filtrage : on a donc dĂ©pensĂ© en pure perte la moitiĂ© du coĂ»t de calcul effectuĂ© par le filtrage.

L’opĂ©ration de lifting en ondelettes peut-ĂȘtre vu comme la transformation rĂ©alisĂ©e par le banc de filtres, mais en intervertissant les phases de filtrage et de sous-Ă©chantillonnage. On limite ainsi le nombre d’opĂ©rations Ă  effectuer mais, nous perdons en revanche la propriĂ©tĂ© d’invariance par translation.

Une autre propriété intéressante est que le schéma de lifting est facilement inversible.

Le schĂ©ma de lifting est aussi liĂ© aux processus d’échantillonnage et d’interpolation (non explicitement Ă©tudiĂ© ici) pour la transformation de signaux continus.

On dĂ©signera ici par les coefficients d’ondelettes et par les coefficients d’échelle obtenus par la transformation.

Pour une ondelette particuliĂšre (c.Ă .d. un couple de filtres ou dans l’implĂ©mentation par banc de filtres) caractĂ©risĂ©e en outre par (disons) moments nuls (jouant un rĂŽle dans le processus de dĂ©croissance des coefficients d’ondelettes Ă  travers les rĂ©solutions) pour le filtre primaire et moments nuls pour le filtre dual, le schĂ©ma d’implantation par lifting permet d’obtenir facilement des ondelettes de moments et plus Ă©levĂ©. On a donc Ă©levĂ© (liftĂ©) l’ordre de cette ondelette par ce schĂ©ma (d’oĂč la justification du nom lifting).

Dans la Figure 1, le signal original passe par les deux filtres complĂ©mentaires (passe-bas) et (passe-haut), en sortie on peut sous-Ă©chantillonner par 2 et on obtient alors respectivement des coefficients d’ondelettes et des coefficients d’échelle .

Figure 1
Figure 1

Figure 1. SchĂ©ma d’une implĂ©mentation en banc de filtres d’une transformation en ondelettes.

La reconstruction du signal s’effectue par sur-Ă©chantillonnage par insertion de zĂ©ros et passage par les filtres de synthĂšse et , puis par simple addition pour obtenir le signal .

On utilisera :

  • les ondelettes paresseuses (lazy wavelets) qui servent Ă  sĂ©parer un vecteur en composantes paires et impaires,
  • ainsi qu’une matrice polyphase qui permet de travailler sĂ©lectivement sur les composantes paires ou impaires du signal.

On va factoriser la matrice polyphase et introduire alors deux opérations :

  • une opĂ©ration de prĂ©diction (predict) qui prĂ©dit les Ă©chantillons de rang pair Ă  partir des Ă©chantillons de rang impair ;
  • une opĂ©ration de mise Ă  jour (update) qui permet de conserver sur une partie du signal la valeur moyenne de l’ensemble du signal.

Le formalisme utilisé est celui des articles de références [Sweldens, Valens]. (Attention cependant aux écarts de notations entre les différents articles).

Cette transformation va en outre permettre de rĂ©aliser une transformation sur des entiers qui donne des entiers. Cependant il faudra utiliser une Ă©tape supplĂ©mentaire utilisant aussi le lifting pour la mise Ă  l’échelle.

Vers la rĂ©alisation de l’ondelette de Haar version lifting

On part des filtres d’analyse et de reconstruction de l’analyse multi-rĂ©solution classique par banc de filtres suivant le schĂ©ma classique de la Figure 1 :

Attention aux notations utilisées ci-dessus :

  • dans certaines rĂ©fĂ©rences, on trouve souvent et .
  • dans les expressions des filtres, le coefficient soulignĂ© correspond Ă  l’indice .

Les filtres doivent en outre satisfaire les formules suivantes :

On a besoin de construire la matrice polyphase ainsi que sa matrice duale (le terme polyphase vient de la thĂ©orie du filtrage numĂ©rique oĂč il est utilisĂ© pour dĂ©crire le partitionnement d’une sĂ©quence d’échantillons en plusieurs sous-sĂ©quences qui peuvent ĂȘtre traitĂ©es en parallĂšle, les sous-sĂ©quences peuvent-ĂȘtre vues comme des versions d’elles-mĂȘmes dĂ©calĂ©es en phase, d’oĂč le nom). On utilise la formule suivante de dĂ©composition polyphase sur les filtres prĂ©cĂ©dents :

  • , oĂč dĂ©signe les Ă©chantillons pairs (even) et les Ă©chantillons impairs (odd) (moyen mnĂ©motechnique : even a un nombre de lettres pair, odd a un nombre de lettres impair).

Il vient assez facilement :

sachant que , et que pour , on a les propriétés suivantes :

Ces propriĂ©tĂ©s montrent que pour passer de l’analyse Ă  la synthĂšse (de Ă  , il suffit si , de prendre la matrice des cofacteurs en changeant de signe.

De plus sachant que (l’inversion temporelle est nĂ©cessaire pour compenser le dĂ©lai introduit par le filtrage) :

Lifting primaire

L’élĂ©vation primaire (primary lifting) est aussi appelĂ© update. Le lifting Ă  proprement parler consiste Ă  modifier le filtre en gardant la complĂ©mentaritĂ© avec Ă  l’aide de la formule :

oĂč est un polynĂŽme de Laurent.

Soit la transformĂ©e en Z d’un filtre FIR :

  • .

Cette somme est aussi nommée polynÎme de Laurent ou encore série de Laurent.

La matrice polyphase devient alors :

  • .

De la mĂȘme façon pour ,

  • ,

oĂč est un polynĂŽme de Laurent.

DĂšs lors,

  • .

Lifting dual

L’élĂ©vation duale (lifting dual) est aussi appelĂ© prĂ©diction.

Les formules prĂ©cĂ©dentes modifient la sous-bande passe-bas Ă  l’aide de la sous-bande passe-haut. Le lifting dual consiste en l’opĂ©ration inverse : modifier la sous-bande passe-bas Ă  l’aide de la sous-bande passe-haut.

  • ,
  • ,

et

  • ,
  • ,

oĂč est un polynĂŽme de Laurent.

On a ainsi élevé (lifté) le niveau de sophistication de la transformation en ondelettes. On a de plus, pour avoir une transformation inversible :

  • et
  • .

Factorisation des filtres

La dĂ©marche ici est en quelque sorte la dĂ©marche inverse afin de pouvoir passer de forme connue de pairs de filtres d’ondelettes Ă  leur implĂ©mentation en termes de lifting d’ondelettes.

On peut réécrire :

en :

  • ,

qui est une forme de division avec reste (pour rĂ©aliser la division avec reste, on utilise l’algorithme d’Euclide) oĂč est le reste.

Alors :

  • .

En itérant cet exemple, on peut arriver à obtenir une matrice polyphase qui est de la forme :

  • ,

oĂč et sont deux constantes (diffĂ©rentes de zĂ©ro) que l’on peut Ă©ventuellement factoriser en quatre Ă©tapes de lifting.

Figure 2
Figure 2

Figure 2. Lifting, chaque voie (sous-bande) est modifiĂ©e par l’autre.

Exemple de la transformée lifting en ondelettes de Haar

On est dĂ©jĂ  parti des filtres de la transformation en ondelettes de Haar et on a obtenu la matrice polyphase et sa forme duale. Il reste Ă  factoriser pour avoir l’implĂ©mentation en lifting.

Lifting dual

On veut :

  • ,
  • .

Par identification, il vient :

Dans notre cas trĂšs simple, il n’est pas nĂ©cessaire d’utiliser l’algorithme d’Euclide (pour un exemple dĂ©taillĂ© de l’utilisation de l’algorithme d’Euclide, voir le cas de l’ondelette de Daubechies D4 ci-aprĂšs) et on peut prendre

Rappel : soit

  • .

On applique l’algorithme d’Euclide, soit .

Soient ici :

  • , et :
  • ,

oĂč est l’opĂ©rateur modulo et retourne le quotient entier. La procĂ©dure est itĂ©rative, plusieurs choix sont en gĂ©nĂ©ral possible pour le choix de l’ordre du diviseur.

  • ,

d’oĂč :

  • .

Alors,

  • .

Lifting primaire

On désire réécrire sous la forme :

Par identification, il vient :

On prend :

  • et , et

Alors :

  • , et
  • .

Ces opĂ©rations purement matricielles s’implĂ©mentent trĂšs facilement sous Scilab ou Matlab.

On peut de façon plus condensĂ©e (que l’écriture matricielle) Ă©crire le pseudo code pour l’algorithme de calcul in-place :

  • et reprĂ©sentent les coefficients pairs et impairs du signal (respectivement),
  • reprĂ©sente les dĂ©tails (c.Ă .d. les coefficients issus du filtrage passe-haut, donc les coefficients d’ondelettes),
  • reprĂ©sente le signal grossier (smooth) issu du filtrage passe-bas et donc les coefficients d’échelle.

Alors :

Pour le passage Ă  une rĂ©solution supĂ©rieure on prend le code prĂ©cĂ©dent que l’on rĂ©initialise en commençant par :

.

La reconstruction se fait en inversant l’ordre des opĂ©rations (et leurs signes, sauf pour la normalisation oĂč l’on prend l’inverse).

.

Exemple de la transformée lifting en ondelettes de Haar entiÚres

Description de la transformée lifting en ondelettes de Haar entiÚres

Obtenir des coefficients d’ondelettes entiers peut-ĂȘtre un atout lorsque :

  • des valeurs entiĂšres sont recommandĂ©es (notamment pour les images),
  • pour certains processeurs embarquĂ©s ne traitant que les entiers,
  • l’occupation mĂ©moire est prĂ©pondĂ©rante (un entier occupe moins de place qu’un flottant).

Lors d’une Ă©tape de lifting que l’on a Ă©tudiĂ© on a utilisĂ© une relation de ce type :

Puisque le signal n’est pas modifiĂ© par cette Ă©tape de lifting alors on peut arrondir et rĂ©Ă©crire l’étape du lifting.

oĂč note une opĂ©ration d’arrondi.

Ce qui est trĂšs fort, c’est que, quelle que soit l’opĂ©ration d’arrondi utilisĂ©e, la transformation est inversible :

Il y a cependant une prĂ©caution Ă  prendre qui concerne la mise Ă  l’échelle (scaling), dans le cas oĂč ces coefficients ne sont pas entiers. La solution dans ce cas consiste Ă  transformer cette mise Ă  l’échelle en 3 Ă©tapes supplĂ©mentaires de lifting suivant le modĂšle :

  • , ou

On rappelle :

Pour notre ondelette de Haar, on a un signe diffĂ©rent dans la matrice de normalisation, il suffit juste d’adapter les expressions prĂ©cĂ©dentes avec par exemple pour la premiĂšre (attention cependant lors de l’inversion) :

  • ,

avec .

Exemple de transformée lifting en ondelettes Daubechies(4)

Description de la transformée lifting en ondelettes Daubechies(4)

Daubechies(4) signifie que les filtres de cette ondelette possĂšdent 4 coefficients et moments nuls. On a aussi :

  • , et
  • .

On trouve son expression dans les tables ou dans [Daubechies] :

On a les propriétés intéressantes suivantes :

  • , soit :
  • , et

On a alors pour :

  • , d’oĂč
  • , et

De la mĂȘme façon pour :

  • , et :
  • .

D’oĂč :

Lifting primaire

On va Ă©crire une Ă©tape de lifting primaire :

Alors,

On utilise alors la division euclidienne (plusieurs factorisations sont possibles suivant l’ordre dans lequel on choisit de prendre en compte diviseur et dividende) :

Le nombre de possibilitĂ©s diffĂ©rentes est liĂ© aux degrĂ©s (notĂ© ) des polynĂŽmes de Laurent des diviseurs et dividendes. Le degrĂ© d’un polynĂŽme de Laurent quelconque dĂ©fini par :

est : . Soit l’expression de la division euclidienne des polynîmes par , alors

  • si les degrĂ©s du diviseur et du dividende sont Ă©gaux, alors le nombre de possibilitĂ©s est ,
  • si maintenant , alors le nombre de possibilitĂ©s est .

Par exemple :

ou alors :

etc.

On se limite Ă  l’exploration de la premiĂšre solution (les autres aboutiront aussi Ă  des formulations diffĂ©rentes mais Ă©quivalentes).

On a alors :

  • , et

On explicite alors :

  • , d’oĂč

Lifting dual

Maintenant, le lifting dual :

Alors,

Effectuons la division euclidienne suivante :

  • .

Donc :

  • et
  • , alors,
  • .

Or,

  • ,

d’oĂč

  • .

VoilĂ  :

On peut maintenant mettre en Ă©vidence la mise Ă  l’échelle d’abord en rĂ©Ă©crivant un peu les derniers coefficients obtenus Ă  l’aide des formules sur les coefficients :

  • et
  • ,

donc,

Mise Ă  l’échelle

On peut donc introduire l’étape de mise Ă  l’échelle (normalisation), en remarquant que :

d’oĂč finalement :

  • ,

c’est-à-dire :

  • , et alors :

Simplification de la mise en Ɠuvre

On peut de façon plus condensĂ©e (que l’écriture matricielle) Ă©crire le pseudo-code pour l’algorithme de calcul in situ :

  • et reprĂ©sente les coefficients pairs et impairs du signal (respectivement),
  • reprĂ©sente les dĂ©tails (c.Ă .d. les coefficients issu du filtrage passe-haut, donc les coefficients d’ondelettes),
  • reprĂ©sente le signal grossier (smooth) issu du fitlrage passe-bas et donc les coefficients d’échelle.

Pour le passage Ă  une rĂ©solution supĂ©rieure, on prend le code prĂ©cĂ©dent que l’on rĂ©initialise en commençant par :

L’implĂ©mentation peut se faire facilement suivant l’exemple de la Figure 8.

Figure 8
Figure 8

Figure 8. SchĂ©ma d’une implĂ©mentation du lifting

Articles connexes

Références externes

Cet article est issu de wikipedia. Text licence: CC BY-SA 4.0, Des conditions supplĂ©mentaires peuvent s’appliquer aux fichiers multimĂ©dias.