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 Ă .
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. 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. Lifting, chaque voie (sous-bande) est modifiĂ©e par lâautre.
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).
- .
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 .
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. SchĂ©ma dâune implĂ©mentation du lifting