Une approche générique du logiciel pour le traitement d'images préservant les performances

From LRDE

Abstract

De plus en plus d'outils logiciels modernes pour le traitement d'images sont conçus en prenant en compte le problème de la généricité du code, c'est-à-dire la possibilité d'écrire des algorithmes réutilisables, compatibles avec de nombreux types d'entrées. Cependant, ce choix de conception se fait souvent au détriment des performances du code exécuté. Du fait de la grande variété des types d'images existants et de la nécessité d'avoir des implémentations rapides, généricité et performance apparaissent comme des qualités essentielles du logiciel en traitement d'images. Cet article présente une approche préservant les performances dans un framework logiciel générique tirant parti des caractéristiques des types de données utilisés. Grâce à celles-ci, il est possible d'écrire des variantes d'algorithmes génériques offrant un compromis entre généricité et performance. Ces alternatives sont capables de préserver une partie des aspects génériques d'origine tout en apportant des gains substantiels à l'exécution. D'après nos essais, ces optimisations génériques fournissent des performances supportant la comparaison avec du code dédié, allant parfois même jusqu'à surpasser des routines optimisées manuellement.

Documents


Bibtex (lrde.bib)

@InProceedings{	  levillain.11.gretsi,
  author	= {Roland Levillain and Thierry G\'eraud and Laurent Najman},
  title		= {Une approche g\'en\'erique du logiciel pour le traitement
		  d'images pr\'eservant les performances},
  booktitle	= {Proceedings of the 23rd Symposium on Signal and Image
		  Processing (GRETSI)},
  category	= {national},
  year		= 2011,
  address	= {Bordeaux, France},
  month		= sep,
  note		= {In French.},
  abstract	= {De plus en plus d'outils logiciels modernes pour le
		  traitement d'images sont con\c{c}us en prenant en compte le
		  probl\`eme de la g\'en\'ericit\'e du code, c'est-\`a-dire
		  la possibilit\'e d'\'ecrire des algorithmes
		  r\'eutilisables, compatibles avec de nombreux types
		  d'entr\'ees. Cependant, ce choix de conception se fait
		  souvent au d\'etriment des performances du code
		  ex\'ecut\'e. Du fait de la grande vari\'et\'e des types
		  d'images existants et de la n\'ecessit\'e d'avoir des
		  impl\'ementations rapides, g\'en\'ericit\'e et performance
		  apparaissent comme des qualit\'es essentielles du logiciel
		  en traitement d'images. Cet article pr\'esente une approche
		  pr\'eservant les performances dans un framework logiciel
		  g\'en\'erique tirant parti des caract\'eristiques des types
		  de donn\'ees utilis\'es. Gr\^ace \`a celles-ci, il est
		  possible d'\'ecrire des variantes d'algorithmes
		  g\'en\'eriques offrant un compromis entre g\'en\'ericit\'e
		  et performance. Ces alternatives sont capables de
		  pr\'eserver une partie des aspects g\'en\'eriques d'origine
		  tout en apportant des gains substantiels \`a l'ex\'ecution.
		  D'apr\`es nos essais, ces optimisations g\'en\'eriques
		  fournissent des performances supportant la comparaison avec
		  du code d\'edi\'e, allant parfois m\^eme jusqu'\`a surpasser des routines optimis\'ees manuellement.}
}