• Aucun résultat trouvé

2.3 Deux algorithmes rapides pour tester la stabilité de filtres numériques récursifs 2-D . 24

2.4.3 Conclusion

30 40 (b)

Fig. 2.7 – ε(R) pour (a) n = 20, m = 3, Nd = 8 et (b) n = 15, m = 4, Nd = 5 avec (BB2) (trait fin), (BB1) (trait épais) et (HJ) (pointillés).

Nous remarquons que l’algorithme (BB1) obtient une relativement faible erreur d’arrondi relative sur les coefficients de R(z1), de l’ordre de 10−12 à 10−10. Cependant, cette erreur est déjà trop grande pour assurer la robustesse de la transformation qui à R(z1) associe Q(x) (quand nm = 60), car cette transformation est trop mal conditionnée.

D’autre part, le calcul du dernier élément S(z1, z1) de la table de Jury par l’algorithme (H) résiste bien aux erreurs d’arrondi. Mais les deux dernières étapes (calcul du polynôme Q(x) associé à S(z1, z1) et celui du nombre de zéros de Q(x) dans l’intervalle [−2 , 2] avec la méthode de Sturm) ne sont pas aussi bonnes. Voici trois raisons à cela. La première vient d’être mentionnée à propos du mauvais conditionnement de la transformation qui associe Q(x) à S(z1, z1), le conditionnement se dégradant quand les degrés de S(z1, z1) augmentent. La deuxième vient du fait que les perturbations sur la localisation des zéros d’un polynôme, quand les coefficients sont soumis à de faibles perturbations, augmentent en général avec le degré du polynôme17. Enfin, la troisième est que le nombre de termes dans la suite (2.20) est nettement plus important dans l’algorithme (H) en comparaison avec les trois autres.

2.4.3 Conclusion

Nous recommandons l’emploi du deuxième algorithme quand cela est possible, c’est-à-dire quand le plus petit des degré du polynôme apparaissant au dénominateur du filtre récursif 2D satisfait à la condition m ≤ 4. En général dans les applications en traitement d’images cette contrainte est satisfaite. Dans le cas contraire, lors d’une implantation avec une arithmétique à virgule flottante, quel que soit l’algorithme utilisé, il ne faut pas négliger le risque dû aux erreurs d’arrondi d’obtenir un résultat faux. L’implantation avec une arithmétique entière exacte d’un quelconque algorithme de

stabilité pour traiter des polynômes dont les degrés par rapport à chacune des variables sont supérieur ou égaux à 5 n’est pas satisfaisante aujourd’hui : le temps nécessaire au test d’un polynôme est trop élevé. Dans un proche avenir, cela peut ne plus être vrai.

Les algorithmes (BB1) et (BB2) sont disponibles à l’URL

ftp ://ftp.metz.supelec.fr/pub/Supelec/software/auto/stability.tar.Z ou depuis la page http ://www.metz.supelec.fr/metz/personnel/barret/logiciel.html.

Chapitre 3

Bancs de filtres adaptés, application au

codage sans perte d’images

3.1 Introduction

Le travail de thèse de H. Bekkouche a porté sur le codage des images par bancs de filtres adaptés. Les structures de type lifting scheme que nous avons étudiées utilisent des filtres auto-régressifs à moyenne ajustée (ARMA) bi-dimensionnels dans les bancs de synthèse [30]. Pour être appliquées en compression sans perte, les transformations associées à ces structures sont rendues réversibles en ajoutant, comme pour les décompositions en ondelettes d’entiers en entiers, des arrondis à l’entier le plus proche juste après les filtres prédicteurs adaptés (voir la figure 3.1). L’introduction de ces non linéarités fait disparaître le problème du test de la stabilité des filtres de synthèse, car les opérations qui diffèrent entre le codeur et le décodeur ne portent que sur des variables entières et n’introduisent donc aucune erreur d’arrondi. En revanche, les opérations de filtrage sont réalisées, elles, avec une arithmétique à virgule flottante, mais étant parfaitement reproductibles elles sont identiques au codeur et au décodeur, n’introduisant pas de divergence entre codage et décodage.

Le codage des images par prédiction linéaire a été étudié au début (Chung & Kanesky, IEEE Trans. Image Processing, IP-1, 3, 1992 et sa bibliographie) et à la fin (Wu, Barthel & Zhang, Pro-ceedings of ICIP, 1998) des années 90 sans être associé à des décompositions hiérarchiques et ne permettant donc pas de progressivité, ni en résolution, ni en qualité. Nous avons vu dans l’introduc-tion de ce mémoire que la structure en lifting scheme de bancs de filtres à reconstrucl’introduc-tion parfaite introduit des filtres appelés malencontreusement prédicteurs, alors qu’ils ne correspondent qu’à des estimateurs linéaires : ils estiment un signal de sous-bande J2 par la sortie d’un filtre appliqué à l’autre signal de sous-bande J1. À la fin des années 90, Gerek et Çetin (IEEE Trans. Image Proces-sing, IP-9, 10, 2000) ont étudié les performances en codage d’images des structures en lifting scheme dont les filtres prédicteurs s’adaptent à l’image selon l’algorithme du gradient stochastique. Comme nous l’avons déjà dit, cette approche n’exploite pas toute l’information disponible au décodeur pour prédire la valeur du signal J2. Nous avons choisi avec H. Bekkouche et J. Oksman d’étudier les perfor-mances en codage d’images de structures du type lifting scheme où toute l’information disponible au décodeur est exploitée via des systèmes linéaires invariants par décalages (si l’on néglige les arrondis) dans l’étape dite de prédiction.

Autrement dit avec les notations du schéma de la figure 3.1, nous avons étudié l’impact du filtre B(z1, z2) dans une étape de prédiction adaptée à l’image à coder : la valeur du pixel J0

J (m, n) -Décomp o sit io n en o nd el et tes rév ersible à co effi cien ts fixes J0 2(m, n) J0 1(m, n) -? A(z1, z2) B(z1, z2)- ? i × + i × + + ? b c ? -H H H H Y J1 1(m, n) J1 2(m, n)

Fig. 3.1 – Structure de type lifting scheme étudiée avec H. Bekkouche, le symbole b c désigne l’arrondi à l’entier le plus proche. Dans l’étape de prédiction, un filtre supplémentaire B(z1, z2) a été ajouté à la structure en lifting scheme classique.

estimée par l’expression ˆ J20(m, n) = X (h,k)∈∆2 bh,kJ20(m − h, n − k) + X (h,k)∈∆1 ah,kJ10(m − h, n − k),

où ∆1 et ∆2 sont deux voisinages bornés de (0, 0), le deuxième devant être semi-causal1 et J21(m, n) = J20(m, n) −  ˆ J20(m, n) + 1 2  ,

où pour un nombre réel x, bxc désigne sa partie entière (i.e., le plus grand entier relatif inférieur ou égal à x).

Pour permettre un codage progressif en résolution, la décomposition en ondelettes à coefficients fixes qui a été utilisée dans nos tests est, soit une simple décomposition polyphase (lazy wavelet ) pour les premiers niveaux de décomposition2, soit la décomposition en ondelettes de Haar réversible3 pour les niveaux de décomposition plus élevés (d’autres ondelettes réversibles pourraient être employées, comme la 5/3 de Daubechies qui est recommandée dans JPEG 2000).

Cette structure, intégrée dans une décomposition hiérarchique pyramidale, permet un codage progressif en résolution. Nous allons voir maintenant quel critère a été utilisé pour adapter la structure aux données et pourquoi.

3.2 Choix du critère pour une transformation réversible

Documents relatifs