12.07.2015 Views

Algorithmes de la morphologie mathématique pour - Pastel - HAL

Algorithmes de la morphologie mathématique pour - Pastel - HAL

Algorithmes de la morphologie mathématique pour - Pastel - HAL

SHOW MORE
SHOW LESS
  • No tags were found...

Create successful ePaper yourself

Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.

Jaromír BRAMBOR7.6. RÉCAPITULATIONseulement <strong>de</strong>ux types <strong>de</strong> propagation différents. Ainsi, nous avons pu réutiliser les idées exposées dans lechapitre 6, qui était consacré aux permutations SIMD <strong>de</strong>s données, et dont nous avons repris l’algorithmetr2DDiagNxPVecNbf <strong>de</strong> <strong>la</strong> transposition rapi<strong>de</strong> d’un macro bloc à l’ai<strong>de</strong> <strong>de</strong>s instructions multimédia.Pour pouvoir modéliser les propagations formellement, nous avons introduit les skeletons algorithmiques<strong>de</strong> base <strong>pour</strong> <strong>la</strong> propagation <strong>de</strong>s valeurs, mfoldl et mfoldl1. Ils nous ont servi lors <strong>de</strong> <strong>la</strong> constructiondu modèle formel <strong>de</strong> <strong>la</strong> propagation à l’intérieur d’un macro bloc composé <strong>de</strong>s vecteurs paquetés etdéfini par <strong>la</strong> fonction pGenMB, cf. page 152, et à partir duquel nous avons pu construire un algorithmegénéral <strong>de</strong> <strong>la</strong> propagation SIMD en 4-voisinage sur <strong>la</strong> grille carrée – propAlgSQR4, cf. page 153.L’emploi plus é<strong>la</strong>boré <strong>de</strong> <strong>la</strong> propagation à l’échelle <strong>de</strong>s macro blocs qui utilise <strong>la</strong> transposition <strong>de</strong>sdonnées directement après avoir propagé les valeurs dans un macro bloc permet d’enchaîner tout <strong>de</strong> suite<strong>la</strong> <strong>de</strong>uxième propagation en économisant ainsi le nombre <strong>de</strong>s transferts <strong>de</strong> données entre l’unité centraleet <strong>la</strong> mémoire. Nous avons également présenté comment cette approche <strong>pour</strong>rait être adoptée <strong>pour</strong> lesarchitectures parallèles où l’exécution se <strong>pour</strong>suivrait sur plusieurs unités exécutives en même temps.Nous avons présenté <strong>de</strong>ux groupes d’algorithmes dont le fonctionnement est dépendant du sens duparcours et qui utilisent <strong>la</strong> propagation régulière <strong>de</strong>s valeurs dans l’image. Il s’agit <strong>de</strong> <strong>la</strong> fonction distanceet <strong>de</strong>s nivellements. Dans <strong>la</strong> section qui exposait les résultats expérimentaux <strong>de</strong>s implémentations quenous avons effectuées, nous avons pu constater un gain <strong>de</strong> performance qui n’est pas négligeable maisprévisible vu le nombre d’éléments (8) que nous pouvions traiter par les instructions SIMD en mêmetemps.Le sujet que nous avons exposé dans ce chapitre et les résultats que nous avons obtenus peuventêtre appréciés dans les applications qui utilisent une architecture multimédia, qui sont contraintes par letemps d’exécution, et dont nous visons prioritairement les applications <strong>pour</strong> le temps réel.Les idées qui sont connexes à ce chapitre et qui restent, <strong>pour</strong> l’instant, inexplorées sont principalementcelles qui touchent les architectures parallèles : il serait à envisager d’explorer les stratégies<strong>de</strong> construction <strong>de</strong>s algorithmes <strong>pour</strong> les architectures qui peuvent assurer l’exécution concurrente <strong>de</strong>stâches, notamment les architectures parallèles à plusieurs fils d’exécution. D’autres sujets à explorersont re<strong>la</strong>tifs à <strong>la</strong> construction <strong>de</strong>s architectures dédiées qui implémenteraient <strong>la</strong> structure <strong>de</strong>s algorithmesprésentés directement dans le matériel (e.g. FPGA). On <strong>pour</strong>rait alors concevoir les blocs opérationnelsexploitant mieux <strong>la</strong> localité <strong>de</strong> données, définir un schéma d’interconnexion fixes qui implémenteraitle changement <strong>de</strong> stockage <strong>de</strong> données et envisager l’utilisation du parallélisme SIMD plus important(> 8).Du point <strong>de</strong> vue <strong>de</strong>s algorithmes, <strong>la</strong> façon <strong>de</strong> travailler présentée <strong>pour</strong> <strong>la</strong> fonction distance et <strong>pour</strong>les nivellements peut être employée dans tous les algorithmes morphologiques faisant appel à <strong>la</strong> reconstructionet à tous les algorithmes dérivés <strong>de</strong> cette <strong>de</strong>rnière (e.g. l’algorithme <strong>de</strong> bouchage <strong>de</strong>s trous,l’algorithme d’extraction <strong>de</strong>s maxima ou <strong>de</strong>s minima <strong>de</strong> l’image etc.).163

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!