Brevet FR2895102A1 — publié le 20070622

PROCEDE POUR TRAITER UN OBJET DANS UNE PLATEFORME A PROCESSEUR(S) ET MEMOIRE(S) ET PLATEFORME UTILISANT LE PROCEDE La presente invention concerne un procede pour traiter, dans une plateforme a processeur(s) et memoire(s), un objet constitue d'informations elementaires. Elie concerne aussi une plateforme utilisant un tel procede. Dans la presente description, une information elementaire est un element d'information a traiter, represents par une ou plusieurs valeurs numeriques. Ces informations peuvent titre codees selon divers types de codage tels que le codage sur 8 bits, le codage sur 10 bits ou encore le codage sur 16 bits signs. Dans le cas on 1'objet a traiter est une image, les informations elementaires seront les pixels de cette image. Le traitement qui sera applique a 1'objet dans la plateforme correspond a un algorithme, pouvant intervenir dans differents domaines tels que par exemple le traitement d'image, la compression ou decompression de donnees, le traitement de son, la modulation et demodulation de signal, la mesure, 1'analyse de donnees, 1'indexation ou la recherche dans une base de donnees, la vision par ordinateur, le traitement graphique, la simulation ou encore tout domaine mettant en oeuvre un grand nombre de donnees. Lorsque l'on souhaite traiter, dans une plateforme a processeur et memoire, un objet constitue d'informations elementaires de meme nature, on a une grande latitude pour determiner 1'ordre de traitement des informations elementaires, les boucles, et la sequence d'operation correspondante. Cependant, les contraintes de taille de code, de temps de calcul, de debit d'acces a la memoire, de taille de la memoire, et de regularite, peuvent etre contradictoires et it est difficile d'exploiter au mieux le parallelisme d'un plateforme pour un algorithme donne. Afin de resoudre ce probleme, it est connu d'utiliser des librairies de bas niveau capables d'effectuer divers traitements sur des blocs physiques, tels que des convolutions, des multiplications, ou encore 1'application de tables de correspondance. Ceci permet de n'optimiser qu'une fois ces librairies pour chaque plateforme. Toutefois, cette methode presente de nombreux inconvenients : - la taille des librairies, et donc du code, 20 est importante, - compte tenu du temps d'appel a des librairies, it est necessaire d'utiliser des blocs physiques de taille relativement importante, ce qui se traduit par une utilisation memoire importante, 25 -les boucles internes sur les informations elementaires se trouvant a 1'interieur des librairies, it n'est pas possible d'optimiser des sequences d'operations, et les performances sont ainsi limitees, et 30 -les blocs physiques sont stockes en memoire, ce qui se traduit par une utilisation intensive de la memoire et beaucoup de temps passe a ecrire et lire des donnees intermediaires depuis la memoire. 35 Par ailleurs, les processeurs programmables, par exemple de type processeur scalaire, processeur vectoriel, processeur de traitement du signal ou encore processeur vectoriel, notamment de type SIMD ( >), permettent d'appliquer un algorithme sur un objet compose d'informations elementaires et decompose en blocs, ou sous-objets, c'est-a-dire en groupes d'informations elementaires. On applique habituellement chaque operation sur un bloc complet, puis on passe a 1'operation suivante sur un bloc qui a pu titre reduit en taille. En effet, certaines de ces operations ont pour effet de reduire la taille des blocs, ayant pour consequence des effets de bord fors de 1'application des operations suivantes. En consequence, lorsqu'on souhaite appliquer un algorithme avec un processeur connu, it est necessaire d'effectuer un grand nombre d'acces memoire, car on applique une operation a taus les blocs, successivement, avant de passer a 1'operation suivante, cette situation entrainant une ecriture et une lecture frequentes dans la memoire. I1 est egalement necessaire d'utiliser des blocs de grande taille pour reduire effets de bords, et it faut donc disposer d'une memoire de taille relativement importante pour pouvoir stocker ces blocs de grande taille. En outre, un grand nombre de boucle signifie que le code d'initialisation des boucles et de fin de boucle est present un grand nombre de fois, ce qui induit une taille de code importante. En outre, certaines operations telles que les tables de correspondances, ou 1'application d'un deplacement local, se pretent mal a une implantation sur un processeur vectoriel dote d'un schema de communication par decalage ou permutation. Par ailleurs, on a constate que le code presente des problemes de regularite, puisque la taille des blocs sur lesquels s'appliquent les operations varie d'une operation a une autre. I1 est donc difficile d'optimiser ce code en terme de memoire et/ou de temps de calcul, puisque les optimisations sont limitees a une operation par bloc, au lieu de la sequence complete. I1 est donc tres difficile d'optimiser la taille du code, la taille de la memoire et le nombre d'instructions necessaires, sans passer un temps considerable pour optimiser chaque combinaison algorithme + plateforme. En effet, chaque plateforme a ses propres caracteristiques, tant en terme de materiel (par exemple nombre et type de processeurs ou taille et type de memoire), qu'en terme de langage utilise (C pour un processeur scalaire et assembleur pour un processeur vectoriel). L'invention a pour but un procede permettant de traiter un objet dans une plateforme, en remediant a au moms un des inconvenients cites precedemment. Notamment, 1'invention permet d'optimiser le traitement en terme de taille de code, de temps de calcul, de debit d' acces a la memoire, de taille de la memoire. Cette optimisation permet de reduire le temps de calcul d'un algorithme et la consommation electrique necessaires pour une puissance de calcul et une taille memoire, et donc une surface de silicium, donnees. Elie permet egalement de realiser une economie sur des caracteristiques materielles telles que la surface de silicium, et la consommation electrique necessaires a 1'execution d'un algorithme pour un temps de calcul donne. Ainsi, 1'invention concerne un procede pour traiter, dans une plateforme a processeur(s) et memoire(s), un objet constitue d'informations elementaires de meme nature, ce procede comprenant 1'etape de decomposer 1'objet a traiter en au moms deux sous-objets constitues de N informations elementaires chacun, taus les sous-objets ayant le meme nombre N d'informations elementaires et, le traitement consistant a effectuer au moins une sequence d'operations specifiques sur les informations elementaires de chaque sous-objet, le procede comprenant en outre 1'etape d'effectuer, pour chaque sous-objet, au moins N fois chaque operation specifique, de facon, d'une part, a faire intervenir au moins une fois chaque information elementaire de chaque sous-objet, et, d'autre part, a produire N resultats pour chaque operation specifique, la sequence d'operations specifiques etant telle qu'au moins une operation specifique k de la sequence met en oeuvre, directement ou indirectement, au moins une fois au cours de ses N applications, une information elementaire appartenant a un autre sous-objet. L'invention permet egalement d'obtenir, pour un algorithme donne, une performance proportionnelle au nombre de processeurs, sans changer 1'algorithme ni la taille memoire, et tout en utilisant des processeurs de petite taille. Ainsi, 1'invention permet de rendre disponible, sur un composant, une puissance de calcul de plusieurs dizaines de milliard d'operations par seconde par mm', pour un composant grave avec un procede de 0.09p. Ces densites necessitent habituellement une architecture cablee optimisee, donc longue a developper, et ne presentant aucune flexibilite pour changer d'algorithme. Au contraire, 1'invention permet de programmer tout algorithme avec une tres grande facilite et donc en un temps tres court. Ceci rend en outre atteignable, sur un seul composant, des performances se comptant en milliers de milliards d'operations par seconde. A cet effet, 1'invention permet de rendre regulier un 30 traitement compose d'operations presentant des effets de bords. Les objets traites par un procede tel que celui decrit ci-dessus sont de preference des images brutes (de type >) avant operation de dematricage ( >), auquel cas 35 1'information elementaire est un pixel represents par une valeur numerique correspondant, selon la position absolue du pixel, par exemple a du rouge, a du vert ou a du bleu. Les objets peuvent egalement etre des images visibles, auquel cas 1'information elementaire est un pixel represents, par exemple, par trois valeurs numeriques, chacune des valeurs representant une couleur, par exemple le rouge, le vert et le bleu. Les objets peuvent egalement etre des sequences d'images, notamment brutes ou visibles, auquel cas 1'information elementaire est un pixel d'une image de la sequence d'images. Les objets correspondent donc, par exemple, a des videos. Dans le cas on 1'objet est une image, 1'image peut etre issue d'un appareil de capture d'image et/ou destinee a un 15 appareil de restitution d'images : - Un appareil de capture d'images est, par exemple, un appareil photo jetable, un appareil photo numerique, un appareil reflex (numerique ou non), un scanner, un fax, un endoscope, une camera, un camescope, une camera de surveillance, un jouet, une 20 camera ou un appareil photo integre ou relie a un telephone, a un assistant personnel ou a un ordinateur, une camera thermique, un appareil d'echographie, un appareil d'imagerie IRM (resonance magnetique), un appareil de radiographie a rayons X. - Un appareil de restitution d'images est, par 25 exemple, un ecran, un projecteur, un televiseur, des lunettes de realite virtuelle, ou une imprimante. - Un appareil de capture et de restitution d'images, est, par exemple, un scanner/fax/imprimante, un mini lab d'impression photos, un appareil de video conference. 30 La plateforme de traitement peut prendre diverses formes selon 1'application. A titre d'exemple, dans le cas on 1'objet est une image, on citera notamment le cas on la plateforme de traitement est integree a l'un des appareils 35 suivants : - Un appareil de capture d'images qui produit des images traitees, par exemple un appareil photo numerique qui integre une plateforme de traitement. - Un appareil de restitution d'images qui affiche ou 5 imprime des images traitees, par exemple un projecteur video ou une imprimante incluant une plateforme de traitement. - Un appareil mixte qui corrige les defauts de ses elements, par exemple un scanner/imprimante/telecopieur incluant une plateforme de traitement. 10 - Un appareil de capture d'image professionnel qui produit des images traitees, par exemple un endoscope incluant une plateforme de traitement. La plateforme de traitement peut titre deportee en tout ou partie sur un serveur. 15 Un algorithme, ou un traitement d'objet, correspond, par exemple, sans que la liste soit limitative dans le cas on 1'objet est une image a : - un calcul, notamment de statistiques, pour une 20 balance des blancs, et/ou - un calcul, notamment de statistiques, pour une exposition automatique, et/ou - un calcul, notamment de statistiques, pour une mise au point automatique, et/ou 25 - un calcul, notamment de statistiques, pour une amelioration de contraste automatique, et/ou - une conversion image brute en image visible ( > en anglais) , et/ou - une correction de defauts d'optique, et/ou 30 - une correction de defauts de capteur, et/ou - une correction de defauts d'imageur, et/ou - un traitement notamment d'amelioration de nettete, et/ou - un traitement, notamment d'amelioration de rendu 35 couleur, et/ou - un traitement, notamment d'amelioration de rendu du contraste, et/ou - un traitement, notamment d'amelioration de rendu des details, et/ou - une reduction de bruit, et/ou - une mesure, et/ou - une compression, et/ou - une decompression, et/ou - une interpolation ou zoom, et/ou - un scan, et/ou - un effet special. Selon 1'invention, le traitement applique a 1'objet peut titre constitue d'une sequence d'operations, egalement appelees operations specifiques. Les resultats des operations specifiques sont egalement appeles informations elementaires et peuvent, ou non, titre du meme type que les informations elementaires de 1'objet de 1'objet. Les sous-objets sont des ensembles d'informations elementaires ayant une forme et une taille qui, selon les cas, dependent des caracteristiques de la plateforme, notamment de la taille et du type de memoire ainsi que, dans le cas d'un processeur vectoriel, de la taille d'un vecteur, mais aussi des caracteristiques de 1'objet a traiter. Dans une realisation, les objets et sous-objets, ainsi que les blocs logiques ont plusieurs dimensions. Les dimensions des sous-objets et des blocs logiques correspondent a toutes ou une partie des dimensions de 1'objet. Les dimensions peuvent titre de diverses natures, notamment : -spatiale, par exemple une distance, un angle ou un parcours dans un maillage, - temporelle, - frequentielle, par exemple couleur, une frequence, une bande de frequence - une phase, - une decomposition selon une autre base d'espace vectoriel, par exemple une decomposition en ondelettes - de maniere generale, les dimensions de tout espace de topologie quelconque. La liste suivante, non limitative, donne des exemples 10 d'objets avec leurs dimensions : - une image fixe avec 2 dimensions, correspondant chacune a des distances, notamment mesurees en pixels, - une image fixe brute avec 2 dimensions, correspondant chacune a des distances, les pixels etant chacun dote d'une 15 couleur, par exemple rouge, vert ou bleu, - une image fixe en couleur, avec 2 dimensions, correspondant chacune a des distances, et une dimension correspondant a une frequence representant le canal couleur, par exemple rouge/vert/bleu, 20 -une image animee avec 3 dimensions, correspondant, pour 2 d'entre elles, a des distances, notamment mesurees en pixels et, pour une d'entre elles, au temps, - une image en relief avec 3 dimensions, correspondant a des distances, 25 -une image en relief avec 3 dimensions, correspondant, pour 2 d'entre elles, a des distances, et pour la troisieme a un angle de vue, - une image medicale avec des dimensions de distance et, eventuellement des dimensions de canal, 30 -un hologramme avec des dimensions d'angle de vue, - de maniere plus generale, une image des dimensions de distance et/ou d'angle et/ou temporelle, et/ou frequentielle, - un son avec une dimension correspondant au temps, - un son avec 2 dimensions, correspondant au temps et a 35 un canal, - un signal module avec une ou plusieurs dimensions, correspondant au temps et, eventuellement, une frequence et, eventuellement, une position dans 1'espace ou un angle, - la modulation et demodulation de signal, la mesure, 1'analyse de donnees, 1'indexation ou la recherche dans une base de donnees, la vision par ordinateur, le traitement graphique, la simulation representes par des informations elementaires disposes selon une ou plusieurs dimensions, - de maniere plus generale, un objet avec une ou 10 plusieurs dimensions. Selon 1'invention, les informations elementaires d'un objet peuvent avoir une position et/ou une echelle absolue notamment spatiale et/ou temporelle et/ou frequentielle et/ou 15 dans tout autre dimension de 1'objet : - une information elementaire d'un objet > peut correspondre a une intensite ; dans ce cas, 1'information elementaire a une position absolue correspondant a un instant donne et dans le cas d'un son multicanaux pour un canal donne, 20 - une information elementaire d'un objet > peut correspondre a un etat ; dans ce cas, une information elementaire a une position absolue correspondant a un nceud de maillage et a un instant donne, - une information elementaire d'un objet Il est a noter qu'une regle d'arrondi est necessaire afin de prendre, par exemple, le pixel le plus proche. Ainsi : - une position relative au-dessus se code avec f(x ;y)= -1 et g(x ;y)=0 - une echelle relative de 0,7 se code avec f(x ;y)= 30 0, 7* (x-x0) et g(x ; y) =0, 7* (y-y0) ; x0 et yO correspondant a un parametre relatif a une position absolue; - une correction de distorsion se code avec f et g correspondant au champ de distorsion - un changement de format YUV 4 :2 :2, a savoir YYUV a 35 partir des informations de luminance et de chrominance Y, U et V separees, peut utiliser pour obtenir Y1 Y2 xx xx Y3 Y4 xx xx ... a partir de Y1 Y2 Y3 Y4 les fonctions suivantes f(x ;y)= x - xO) *0, 5 si x pair et (x+l-x0) *0, 5 si x-xO impair, et f(y)=y-yO ; xO et yO correspondant a un parametre relatif a une position absolue; La liste suivante, non limitative, donne d'autres exemples de realisation avec divers types d'objets: - Dans le cas on 1'objet est une image fixe a pixels hexagonaux disposes par ligne, deux lignes successives etant decalees d'un demi-pixel, la position absolue ou relative peut correspondre a 2 valeurs (verticale et horizontale) et 1'echelle absolue ou relative a 2 valeurs (verticale et horizontale) ; les pixels de la ligne du haut d'un objet peuvent avoir comme positions absolues (0 ;0) (0 ;1) (0 ;2) ..., et les pixels de la n ieme ligne peuvent avoir comme positions absolues (n ;0,5) (n ;1,5) (n ;2,5) si la ligne est impaire, et (n ;0) (n ;1) (n ;2) si la ligne est paire. La position relative peut correspondre a 2 valeurs (verticale et horizontale), par exemple (-0,5 ; 0,5) indique en haut a droite, (0,1) indique a droite et (-0,5 ; 1,5) indique le pixel situe a droite du pixel en haut a droite. Une echelle relative de (0,5 ;0,5) correspond alors a une resolution de moitie dans chaque direction. De meme, une combinaison de deplacement relatif et d'echelle relative peut titre codee a 1'aide de 2 fonctions f et g de la facon suivante : (f(x ;y) ; g (x ;y))) pour chaque pixel de position absolue x, y. I1 est a noter qu'une regle d'arrondi est necessaire afin de prendre, par exemple, le pixel le plus proche. - Dans le cas on 1'objet est une image animee a pixels carres, la position absolue ou relative peut correspondre a 3 valeurs (verticale, horizontale et temporelle), par exemple (- 1 ; 0 ;0) indique le pixel situe au-dessus dans la meme image, (0 ; 0 ; -1) indique le pixel ayant la meme position dans 1' image precedente et (2 ; -2, -1) indique le pixel situe 2 pixels au dessous et 2 a gauche dans 1'image precedente. De meme, une combinaison de deplacement relatif et d'echelle relative peut titre codee a 1'aide de 3 fonctions f, g, h de la facon suivante : (f (x ;y ;t) ; g (x ;y ;t)) ; h (x ;y ;t)) pour chaque pixel de position absolue x,y a 1'instant t. I1 est a noter qu'une regle d'arrondi est necessaire afin de prendre, par exemple, le pixel le plus proche. - Dans le cas on 1'objet est un son monocanal, la position absolue ou relative peut correspondre a 1 valeur (temporelle), par exemple (-1) indique 1'instant precedent, et (2) indique 2 instants apres, une fonction f(t) permet alors de coder un deplacement et echelle relatifs. Une regle d'arrondi etant utilisee pour prendre 1'instant le plus proche. - Dans le cas on 1'objet est un son multi canal, la position absolue ou relative peut correspondre a 2 valeurs (temporelle, canal), par exemple (-1, 0) indique 1'instant precedent du meme canal, et (2,1) indique 2 instants apres du canal suivant, ordonnes par exemple spatialement de facon circulaire. De meme, une combinaison de deplacement relatif et d' echelle relative peut titre codee a 1' aide de 2 fonctions f, g de la facon suivante : (f(t ;c) ; g (t ;c)) pour chaque echantillon sonore de position a 1'instant t pour le canal c. I1 est a noter qu'une regle d'arrondi est necessaire afin de prendre, par exemple, 1'instant et le canal le plus proche. - Dans le cas on 1'objet est un maillage de simulation, la position absolue ou relative peut correspondre a n valeurs correspondant chacune a une dimension spatiale ou temporelle, fonction de la topologie du maillage. De meme, une combinaison de deplacement relatif et d'echelle relative peut titre codee a 1' aide de n fonctions. I1 est a noter qu'une regle d'arrondi est necessaire afin de prendre par exemple le nceud et 1'instant le plus proche. - Dans le cas on 1'objet est un signal module, la position absolue ou relative peut correspondre a n valeurs correspondant respectivement au temps, le cas echeant au canal frequentiel (emission ou reception sur plusieurs frequences) et le cas echeant (plusieurs emetteurs ou recepteurs disposes spatialement) a une dimension spatiale. De meme, une combinaison de deplacement relatif et d'echelle relative peut etre codee a 1'aide de n fonctions, et une regle d'arrondi doit etre choisie. - Dans le cas on 1'objet est un ensemble de mesures, la position absolue ou relative peut correspondre a n valeurs correspondant chacune a une dimension de 1'objet qui, selon le cas, peuvent etre de nature temporelle, spatiale, frequentielle, phase ou autre. De meme, une combinaison de deplacement relatif et d'echelle relative peut etre codee a 1'aide de n fonctions et une regle d'arrondi doit etre choisie. - Dans le cas general on 1'objet est de dimension n, la position absolue ou relative peut correspondre a n valeurs correspondant chacune a une dimension de 1'objet qui, selon le cas, peuvent etre de nature temporelle, spatiale, frequentielle, phase ou autre. De meme, une combinaison de deplacement relatif et d'echelle relative peut etre codee a 1'aide de n fonctions et une regle d'arrondi doit etre choisie. Differents types de sous-objets sans recouvrement sont illustres par les figures la a 1d. Sur ces figures, on voit qu'une meme image peut etre decoupee en lignes (lignes 90, 91, 92 et 93 sur la figure la), en colonnes (colonnes 94, 95, 96 et 97 sur la figure lb), en sous-objets d'une tout autre forme (formes 70, 71, 72 et 73 sur la figure 1c), ou encore en rectangles (formes 60, 61, 62, 63, 64, 65, 66 et 67 sur la figure 1d). Dans le cas on les sous-objets sont sans recouvrement, it faut acceder a des informations elementaires d'un moms un autre sous-objet pour traiter les informations elementaires d'un sous-objet sans perdre de bord lors du calcul de filtres. Ainsi, dans une realisation, 1'objet a traiter ayant DO dimensions, et etant decompose en sous-objets ayant DSO dimensions selectionnees parmi les DO dimensions de 1'objet, la decomposition de 1'objet est telle que, selon au moins une dimension du sous-objet, les sous-objets n'ont pas de recouvrement. Dans cette configuration, it n'est pas necessaire de recalculer les instructions specifiques mettant en oeuvre, directement ou indirectement, des informations elementaires appartenant a deux sous-objets. Dans une realisation, le procede comprend en outre 1'etape d'ajouter au moins une informations elementaire a 1'objet de sorte qu'il puisse etre decompose en sous-objet sans recouvrement. La decomposition en sous-objets peut egalement dependre de la sequence d'operations a effectuer sur 1'objet, notamment du nombre et du type de filtres, horizontaux ou verticaux, presents dans cette sequence. Par ailleurs, lorsque certaines des operations specifiques de la sequence ont des effets de bord, it est necessaire, pour qu'aucune information elementaire ne soit perdue lors de 1'execution de 1'algorithme, de decomposer 1'image en sous-objets ayant un recouvrement non nul. Cette configuration est illustree sur les figures le et if : la figure le represente un sous-objet compose de 6x6 informations elementaires, dans le cas on la sequence d'operations perd un pixel sur chaque bord, et la figure if represente un objet comprenant 100 informations elementaires. Sur cette figure le, on voit que les sous-objets sont quatre rectangles 80, 82, 83 et 84 contenant chacun 36 informations elementaires. Le rectangle 80 est constitue des 36 informations elementaires situees en haut a gauche dans 1'image, et le rectangle 82 est constitue des 36 informations elementaires en haut a droite de 1'image. Ainsi, les 8 informations elementaires 86 sont communes aux deux sous-objets 80 et 82. De meme, les 8 informations elementaires 85 sont communes aux deux sous-objets 80 et 83. De meme, les 8 informations elementaires 88 sont communes aux deux sous-objets 82 et 84. De meme, les 8 informations elementaires 89 sont communes aux deux sous-objets 83 et 84 Enfin, les 4 informations elementaires 87 sont communes aux quatre sous-objets 80, 82, 83 et 84. Dans le cas on 1'objet est une image, dans une realisation 1'image est decompose en sous-objets rectangulaires juxtaposes, les sous-objets sont traites, par exemple, de gauche a droite puis de haut en bas. Selon la plateforme, les sous- objets sont choisis et stockes selon 1'une des facons suivantes, sans que la liste soit limitative : - dans le cas d'un processeur de traitement du signal disposant d'une petite memoire rapide et d'une grosse memoire lente, la taille des sous-objets est choisie pour pouvoir effectuer le traitement d'un sous-objet sans acces a la memoire lente ; on pourra, par exemple, prendre des sous-objets correspondant a des carres de 32x32 pixels, le resultat du calcul sur le sous-objet precedent etant transfers en memoire lente pendant le calcul relatif au sous-objet courant, et pendant le transfert de la memoire lente vers la memoire rapide des donnees necessaires au calcul relatifs au sous-objet suivant - dans le cas d'un processeur scalaire disposant d'une petite memoire cache et d'une grosse memoire lente, la taille des sous-objets est choisie pour pouvoir effectuer le traitement d'un sous-objet en utilisant la memoire cache le plus possible ; on pourra, par exemple, prendre des sous-objets correspondant a des carres de 32x32 pixels ou des sous-objets de 1 pixel ou des sous-objets de 4 pixels notamment dans le cas d'une image brute, de type Dans le cas on 1'objet est d'un autre type qu'une image, la decomposition en sous-objet peut etre adaptee de maniere similaire a la plateforme. Le procede selon 1'invention permet de regulariser le sequencement desoperations specifiques effectuees sur les sous-objets, puisqu'on effectue le meme nombre N d'operations a chaque fois. Ainsi, on peut simplifier les architectures materielles et les algorithmes. Le fait de realiser N operations a chaque fois est rendu possible par le fait qu'on fait intervenir, dans la realisation de ces operations, des informations elementaires appartenant a un sous-objet different de celui sur lequel les operations sont appliquees. De cette facon, les informations elementaires sur lesquelles s'applique 1'operation k peuvent appartenir au meme sous-objet ou a des sous-objets differents, en fonction du type d'operation specifique et de la position des informations elementaires dans les sous-objets. Ceci permet egalement d'eviter 1'apparition d' Dans la suite de la description, on appellera donnees de communication >> des informations elementaires et/ou resultats d'operations qui sont utilises pour le traitement de plusieurs sous- objets ou pour plusieurs operations specifiques differentes. De preference, on choisira les donnees de communications entre sous-objets de telle facon que leur taille est le nombre de calculs soient minimises. Par exemple, les donnees de communication inter-objet selon une dimension comprennent, notamment, les donnees d'entree d'un filtre selon cette dimension, ainsi que les donnees a combiner avec la sortie du filtre, si elles ne sont pas alignees correctement entre elles. La memoire de communication inter-objet, c'est-a-dire la memoire utilisee pour stocker les donnees de communication inter-objets, est de nature differente selon la duree de stockage necessaire et le debit. Par exemple, cette memoire peut consister en des registres et/ou en une memoire locale, pour la communication selon la dimension de la boucle interne de parcours des sous-objets, et/ou en une memoire locale et/ou partagee pour la communication selon les autres dimensions. Dans une realisation de 1'invention dans laquelle 1'objet comprend DO dimensions, les informations elementaires sont transmises a la plateforme d'abord selon une dimension selectionnees DE, puis selon les autres dimensions. Dans cette realisation, les sous-objets ont DSO dimensions, selectionnees parmi les DO dimensions de 1'objet, et comprenant la dimension DE, et le traitement comprend au moms une boucle interne de parcours des sous-objets effectuee selon la dimension DE. Une boule interne correspond a une boucle pour traiter un sous-objet, qui permet de traiter les N donnees a 1'aide de Q processeurs. Cette realisation est particulierement adaptee au cas d'un composant traitant les donnees >, c'est-a-dire en temps reel a la vitesse d'entree des informations elementaires dans la plateforme, en utilisant, pour la communication inter-objets, une memoire situee sur le meme composant que les unites de calcul utilisees pour le traitement. Ainsi, le coat du composant est reduit, et le debit d'acces a la memoire est proportionnel au nombre d'unites de calcul. Notamment, cette realisation est utilisee dans le cas d'un processeur scalaire, ou vectoriel, ou pipeline. De preference, les sous-objets sont tels que DSO vaut un, ou DSO vaut deux dans le cas d'une image brute. Dans ce dernier cas, la taille du sous-objet dans la seconde dimension est deux. De preference, les operations specifiques sont effectuees par des unites de calculs disposees selon la dimension DE. De preference, la taille des sous-objets dans chaque 30 dimension est un multiple de la taille de la matrice de processeurs dans la dimension consideree. De preference, les DSO dimensions sont la dimension DE, ainsi que les plus petites parmi les DO dimensions pour limiter la memoire de communication inter-objets necessaire. De preference, it n'y a de recouvrement des sous-objets dans aucune des DO dimensions, de sorte que chaque information elementaire n'est traitee qu'une seule fois ; de sorte que les boucles sont imbriquees, de sorte que le code est compact. De preference, aucun calcul n'est refait lors du traitement de 2 sous-objets De preference, les boucles de parcours des sous-objet sont imbriquees selon le meme ordre que les dimensions selon lesquelles les informations elementaires arrivent a la plateforme. Dans une realisation, dans laquelle 1'objet comprend DO dimensions, les informations elementaires sont transmises a la plateforme selon la dimension DE de 1'objet, puis selon les autres dimensions. Dans cette realisation les sous-objets comprennent les DO dimensions de 1'objet ou DO-1 dimensions selectionnees parmi les DO dimensions de 1'objet, la dimension DE n'etant pas comprise. Le traitement comprend en outre au moins une boucle interne de parcours des sous-objets effectuee selon la dimension DE. Dans une autre realisation, la taille des sous-objets dans chaque dimension est determinee en fonction de la taille de 1'objet, et/ou du debit de transmission des informations elementaires transmises a la plateforme, et/ou de la vitesse de calcul de la plateforme et/ou de la taille et du debit d'au moins une memoire de la plateforme. Cette realisation est particulierement adaptee au cas d'un composant traitant les donnees > a la vitesse d'entree des informations elementaires dans la plateforme en utilisant pour la communication inter objets, une memoire locale situee sur le meme composant que les unites de calcul utilisees pour le traitement servant de relais a une memoire externe partagee plus lente utilisee pour le stockage a long terme des donnees de communication selon les DO-1 une dimensions ne correspondant pas a DE. Dans ce cas, la taille de la memoire locale augmente avec la taille du sous-objet, le debit avec la memoire partagee diminue avec la taille du sous-objet et la taille de la memoire externe augmente avec la taille du sous-objet selon les dimensions autres que la dimension DE, on peut ainsi ajuster la taille des memoires internes et externes et le debit de la memoire externe en ajustant la taille du sous-objet. Ainsi, le coat est reduit, le debit avec la memoire est independant de la taille de 1'objet, et un composant peut titre optimise pour une taille d'objet et reutilise avec une memoire externe pour des objets de taille plus importante. Cette realisation est egalement plus particulierement adaptee au cas d'un composant traitant les informations elementaires plus lentement que la vitesse d'entree des informations elementaires dans la plateforme, et utilisant une memoire pour stocker 1'objet pendant le traitement. Dans ce cas, on cherche a limiter la taille de la memoire interne et la vitesse du traitement pour reduire la taille memoire interne, le nombre d'unites de calcul et le debit memoire necessaire. Cette realisation s'applique notamment a un processeur scalaire ou vectoriel ou pipeline. De preference, les operations specifiques sont 25 effectuees par Q unites de calculs disposees une dimension de taille superieure a Q. De preference la taille des sous-objets dans chaque dimension est un multiple de la taille de la matrice de processeurs dans la dimension consideree. 30 De preference, les DSO dimensions sont, outre la dimension DE, les plus petites parmi les DO dimensions pour limiter la memoire de communication inter-objets necessaire. De preference, it n'y a de recouvrement des sous-objets dans aucune des DO dimensions, de sorte que chaque information elementaire peuvent n'etre traitees qu'une seule fois. Ainsi, les boucles sont imbriquees et le code est compact. De preference, it n'y a pas de recouvrement des sous-objets et aucun calcul n'est refait lors du traitement de 2 sous-objets dans les dimensions de taille faible, alors que dans les dimensions de taille importante c'est moms important car les recalculs ont un coat marginal. De preference, pendant le calcul du sous-objet courant, on transfere depuis la memoire locale vers la memoire externe les donnees de communication inter-objets produites lors du calcul du sous-objet precedent, et on transfere depuis la memoire externe vers la memoire locale les donnees de communication inter-objets necessaires pour le calcul du sous-objet suivant. Puisque la boucle interne de parcours des sous- objets se fait selon la dimension DE, les transferts entre memoire interne et externes ne concernent que les donnees de communication inter-objets selon les DO-1 dimensions qui excluent la dimension DE. Ainsi, la memoire locale necessaire est limitee a 3 fois la taille des donnees de communication inter-objets selon ces DO-1 dimensions plus une fois la taille des donnees de communication inter-objets selon la dimension DE. Par exemple, dans le cas d'un algorithme de traitement d'image, la taille de la memoire interne necessaire se limite a quelques centaines ou milliers d'octets pour traiter plusieurs dizaines de millions de pixels par seconde. De preference, les donnees transitent de la facon suivante : les informations elementaires de l'objet sont stockees dans la memoire externe, les sous-objets sont lus depuis la memoire externe lorsqu'au moms un sous-objet est present en memoire partagee, les donnees de communication inter- objets selon les DO-1 dimensions qui excluent la dimension DE sont lus depuis la memoire partagee, le resultat du traitement du sous-objet et les donnees de communication inter-objets selon les DO-1 dimensions qui excluent la dimension DE sont ecrites en memoire partagee, lorsque les donnees completes selon la dimension utilisae pour la sortie sont prasentes en memoire partagee, elles sont lues en memoire partagee et disponibles. Le transit est ainsi pradictible, simple et ragulier. De preference, les boucles de parcours des sous- objets sont imbriqua selon le meme ordre que les dimensions selon lesquelles les informations elementaires arrivent a la plateforme. Les realisations qui wont maintenant titre dacrites dans le cas d'un processeur vectoriel peuvent s'appliquer a tout traitement sur Q unites de calcul consistant en une sequence d'oparations specifiques simultanement effectuees sur les Q unites de calcul, cette sequence natant pas nacessairement appliquae a un objet constitua d'informations elementaires de meme nature. Ces realisations dacrivent une nouvelle facon d'atablir une communication entre les diffarentes unites de calcul, par exemple dans le cas d'un processeur vectoriel. Dans une realisation, dans laquelle au moms une partie des operations specifiques met en oeuvre au moms une valeur de parametre, et dans laquelle les operations specifiques sont effectuees par Q unites de calculs calculant la meme operation spacifique simultanement : la sequence d'oparations specifiques comprend au moms une operation spacifique de selection qui effectue la selection d'une valeur de parametre parmi C valeurs de parametres en meme temps sur les Q unites de calcul. Cette selection se fait de maniere differentiae par processeur, en fonction d'au moms une information alamentaire et/ou d'au moms un rasultat d'oparation spacifique et/ou d'au moms une valeur de parametre. Dans un exemple, C vaut 8. Pour calculer une table de correspondance on peut, par exemple, utiliser 3 operations specifiques de selection en fonction de la valeur d'entrae X de la table modulo C, pour obtenir a, b et c fonction de X et calculer a*X'+b*X+c, ce qui correspond a un calcul en parallele de Q fonctions splines. Pour determiner un coefficient de filtre d'interpolation correspondant a un dephasage de n/C, on peut utiliser une operation specifique de selection en fonction de la valeur d'entree n donnant le coefficient d'interpolation. Pour choisir une valeur de parametre fonction d'une position absolue, on peut calculer une fonction de la position donnant un resultat entre 1 et C, puis utiliser le resultat de ce calcul en entree d'une operation specifique de selection donnant la valeur de parametre pour la position absolue. On peut ainsi, par exemple, adapter une intensite de deflouage fonction de la position. Pour choisir une valeur differentiae par canal entrelace en couleur, resolution..., on peut, de meme, calculer une fonction de la position entre 1 et C, puis utiliser le resultat de ce calcul en entree d'une operation specifique de selection donnant la valeur de parametre pour la position absolue. Il est connu d'avoir, dans des processeurs vectoriels, des operations specifiques qui choisissent des donnees soit par decalage soit par permutation, par contre les processeurs vectoriels ne permettent par d'effectuer une indirection sur C donnees, notamment dans le cas on C est plus petit que Q afin d'optimiser la complexite du processeur. Dans une realisation, les Q processeurs correspondant a un vecteur a une dimension, on etend les C constantes dans un registre de Q constantes par duplication : C constantes a droite du vecteur, puis C constantes puis... ; 1' operation specifique de selection permet de choisir une valeur parmi les C valeurs de gauche de chaque element du vecteur. Dans une realisation, dans laquelle au moms une partie des operations specifiques est effectuee par Q unites de 35 calculs calculant la meme operation specifique simultanement la sequence d'oparations spacifiques comprend au moins une operation specifique de selection effectuant la selection d'une donnae parmi C donnees en meme temps sur les Q unites de calcul de maniere differentiae par processeur, en fonction d'un deplacement relatif obtenu a partir d'au moins une information elementaire et/ou d'au moins un resultat d'oparation specifique et/ou d'au moins une valeur de paramttre. En pratique, dans 1'exemple on les Q unites de calcul sont disposaes selon un vecteur chaina de maniere circulaire, chaque unite de calcul peut accader a des donnees issues de ses C voisins de gauche de maniere simultanae et indapendante. L'oparation specifique de selection peut titre conditionnelle, afin de permettre le choix parmi un nombre de 2*C, ou plus, de donnees. Ainsi, on peut calculer une deformation locale, par exemple une distorsion fonction d'une position, et 1'appliquer localement a un vecteur. On peut agalement aussi combiner des donnees localement pour faire un filtre, changer d'achelle ou effectuer toute autre operation mettant en oeuvre un deplacement local. Dans une realisation, le deplacement nacessitant plus de C donnees peut titre decompose en au moins un deplacement uniforme suivi d'un deplacement local differentia realise a 1'aide d'au moins une operation de selection. le deplacement uniforme peut titre realise, notamment, par application de plusieurs operations de selections, ou en utilisant une mamoire de communication. Dans un exemple, le deplacement relatif est commun a toutes les informations alamentaires d'un sous-objet, et/ou d'un 1'objet. Dans un autre exemple, it est different pour chaque information elementaire, et peut dapendre, ou non, de la position absolue de 1'information elementaire dans le sous-objet et/ou du sous-objet dans 1'objet. De maniere plus ganarale, ce deplacement est le resultat d'un calcul en fonction d'au moins une information elementaire et/ou d'au moms un resultat d'operation specifique et/ou d'au moms une valeur de parametre. Dans une realisation, dans laquelle la sequence d'operations specifiques comprend au moms une operation specifique de position et 1'objet comporte DO dimensions, 1'operation specifique de position produit une information de position selon une des DO dimensions. La position peut titre, notamment, sans que la liste soit limitative, une position absolue d'information elementaire dans un objet, une position de sous-objet, une position de processeur modulo C, une position de donnees multi-echelle dans un sous-objet... Dans une realisation, la sequence d'operations specifiques comprend au moms une operation specifique produisant une position relative en fonction d'au moms une information elementaire et/ou d'au moms un resultat d'operation specifique et/ou d'au moms une valeur de parametre. L'operation specifique de calcul de position relative peut titre utilisee avant une operation specifique de selection. Dans un exemple, la position relative est commune a toutes les informations elementaires appartenant a un sous-objet, et/ou a un 1'objet. Dans un autre exemple, elle est differente pour chaque information elementaire, ou bien elle peut dependre, ou non, de la position absolue de 1'information elementaire dans le sous-objet et/ou du sous-objet dans 1'objet. De maniere plus generale, elle peut titre le resultat d'un calcul en fonction d'au moms une information elementaire et/ou d'au moms un resultat d'operation specifique et/ou d'au moms une valeur de parametre. La taille des sous-objets, a savoir le nombre N d'informations elementaires presentes dans chaque objet, est, par exemple, determinee en fonction de 1'architecture de la plateforme utilisee pour le traitement. Ainsi, dans une realisation, au moms une partie des operations specifiques est effectuee par Q unites de calculs, Q etant egal a N ou un sous-multiple de N. Le fait que N soit un multiple de Q permet de rendre le traitement encore plus regulier, puisqu'ainsi toutes les unites de calcul terminent en meme temps une meme etape de calcul. Dans une realisation, le nombre de processeurs Q et le nombre d'informations elementaires N sont differents, et le traitement du sous-objet comprend une seule boucle interne de N/Q iterations. Ainsi, le traitement est regulier, la memoire et le nombre de registres utilises sont minimises, et la communication a 1'interieur de chaque sous-objet est realisee de preference avec des registres. Dans une realisation, le nombre d'unites de calcul est de quelques dizaines a quelques centaines, ce qui permet, notamment, de realiser des calculs de quelques centaines d'operations sur des images a plusieurs dizaines de millions de pixels par seconde en utilisant des procedes de fabrication de composants de 0.13p. Dans une autre realisation, le nombre d'unites de calcul est de plusieurs milliers a plusieurs millions, et 1'invention permet d'utiliser cette puissance de calcul pour traiter des objets en gardant une grande simplicite de programmation et avec une performance proportionnelle au nombre d'unites de calcul. Pour ameliorer encore cette regularite, le nombre P d'operations specifiques peut egalement titre un multiple de Q. Generalement, les operations specifiques sont determinees en amont de la plateforme par un compilateur, qui est configure de telle sorte que, si le nombre d'operations specifiques n'est pas un multiple de Q, it cree des operations specifiques sans effet afin d'obtenir cette relation (le nombre d'operations specifiques est un multiple de Q). Ainsi, quelle que soit 1'affectation des operations specifiques aux differentes unites de calculs, le traitement sera parfaitement regulier. Dans une realisation de 1'invention, les Q unites de calcul presentes dans la plateforme sont identiques. Certaines operations specifiques utilisent des parametres, et, dans ce cas, on traite egalement les valeurs de ces parametres. Ces parametres peuvent, par exemple, titre des coefficients multiplicateurs. Ces parametres peuvent correspondre, par exemple, sans que la liste soit limitative a : - des coefficients de filtres, et/ou - des valeurs de saturation, et/ou - des valeurs de decalages, et/ou - des tables de correspondances. 20 Dans une realisation, les valeurs des parametres utilises par les operations specifiques dependent de la position dans les sous-objets des informations elementaires mises en jeu, directement ou indirectement, dans ces operations specifiques. Par exemple, dans le cas on 1'objet a traiter est une image, des 25 defauts peuvent apparaitre sur 1'image, dus a 1'optique ayant servi a faire la prise de vue. Ces defauts ne sont, en general, pas homogenes sur toute 1'image, notamment sur les bords. Dans ce cas, pour compenser ce flou, on n'appliquera pas les memes coefficients de compensation sur taus les pixels 30 de 1'image. Par exemple, 1'utilisation d'un parametre commun a toutes les informations elementaires, pour un filtre, permet d'augmenter la nettete de maniere uniforme. Par exemple, 1'utilisation d'un parametre dependant de 35 la position absolue des informations elementaires dans 1'objet a 15 traiter, pour un filtre, permet d'augmenter la nettete de maniere plus importante au bord afin de compenser un defaut optique. Par exemple, 1'utilisation d'un parametre dependant de la position absolue des informations elementaires dans 1'objet a traiter, pour une correction de vignetage, permet d'obtenir une compensation plus forte au bord afin de compenser un defaut optique. Par exemple, 1'utilisation d'un parametre dependant de la position absolue des informations elementaires dans 1'objet a traiter pour un de matricage ( >) permet de traiter differemment les pixels rouges, les pixels verts et les pixels bleus d'une image brute issue d'un capteur. Par exemple, 1'utilisation de secondes donnees, notamment un deplacement, dependant de la position absolue des informations elementaires dans 1'objet a traiter pour un calcul d'agrandissement ( >) numerique ou une correction de distorsion, permet d'obtenir les pixels necessaires au calcul de 1' interpolation en chaque point. Ainsi, la valeur d'un parametre, selon la nature de ce parametre, peut : -etre constante et intrinseque a 1'algorithme ; dans ce cas la valeur de parametre peut, notamment, etre transmise au moyen de traitement ou a la plateforme, et/ou -dependre de la provenance ou la destination de 1'objet, par exemple dans le cas on 1'objet a traiter est une image issue d'un appareil muni d'une optique donnee, la valeur du parametre peut dependre du type d'optique qui a un impact sur le niveau de flou dans 1'image ; dans ce cas, la valeur de parametre peut notamment etre transmise au moyen de traitement ou a la plateforme, et/ou -dependre de 1'objet a traiter, par exemple, dans le cas on 1'objet a traiter est une image issue d'un capteur, la valeur du parametre peut dependre du gain du capteur effectivement utilise pour capturer ledit objet qui a un impact sur le niveau de bruit dans 1'image ; dans ce cas, la valeur de parametre peut, notamment, titre transmise, choisie ou calculee par la plateforme, et/ou -dependre de la position absolue de 1'information elementaire dans 1'objet ; dans ce cas, la valeur de parametre peut notamment titre transmise, choisie ou calculee par la plateforme, et/ou - ne pas dependre de la position absolue de 1'information elementaire dans 1'objet. La valeur de parametre peut titre determinee simultanement ou a posteriori par rapport a la definition de 1'algorithme. On a vu que la valeur de certains parametres peut 15 varier d'un objet a 1'autre, d'un sous-objet a 1'autre ou d'une information elementaire a 1'autre. Dans ce cas, dans une realisation, on calcule la valeur du parametre a chaque changement. Dans une autre realisation, on calcule a priori les valeurs possibles du 20 parametre, et, a chaque changement, on determine 1'index ou 1'adresse permettant d'acceder a la valeur du parametre par exemple dans une table. Dans une autre realisation, plus particulierement adaptee aux parametres dont la valeur varie d'un sous-objet a 25 1'autre en fonction de la position absolue du sous-objet et dont le nombre de valeurs est limite, par exemple les parametres correspondant aux caracteristiques de flou de 1'optique, on determine un nombre limite de jeux de valeurs de parametres, on stocke chaque jeu et, pour chaque sous-objet, on selectionne le 30 jeu a utiliser, par exemple en calculant une fonction de la position donnant 1'adresse du jeu a utiliser. L'affectation des operations specifiques aux unites de calcul depend a la fois du type d' operation, de la sequence, et 35 des unites de calcul en elles-memes. Par exemple, dans une realisation, les unites de calcul sont specialisees, c'est-a-dire que les N resultats issus d'une meme operation specifique sont calcules par une meme unite de calcul. Dans le cas ou une operation specifique fait appel a un parametre present dans une memoire de la plateforme, le fait de disposer d'unites de calcul specialisees permet de gagner du temps, puisque 1'unite de calcul en charge de cette operation peut realiser un acces memoire au debut du traitement, pour recuperer le parametre, puis appliquer 1'operation N fois sans avoir besoin d'effectuer a nouveau un acces memoire. Ainsi, dans une realisation, lorsqu'au moms une operation specifique met en oeuvre au moms un parametre, cette operation specifique est effectuee par au moms une unite de calcul ayant acces a une unite de memoire contenant une partie des valeurs des parametres, cette partie etant determinee en fonction des operations specifiques effectuees par cette unite de calcul. Pour le stockage de ces valeurs de parametres, it peut exister differentes configurations materielles, qui seront detainees par la suite. Par exemple, chaque unite de calcul peut disposer de sa propre memoire, ou it peut exister une memoire commune a toutes les unites, ou bien encore les unites de calcul peuvent etre regroupees, et disposer d'une memoire pour chaque groupe. Dans une realisation, lorsqu'au moms une operation specifique met en oeuvre au moms un parametre, la valeur de ce parametre est fonction de la position du sous-objet et/ou de 1'information elementaire dans 1'objet a traiter. Pour certaines operations, la valeur du parametre sera fixe pour tout 1'objet a traiter, alors que pour d'autres, cette valeur sera variable en fonction de la position. Ainsi, par exemple, les coefficients d'un filtre de correction de flou d'image pourront etre plus ou moms forts selon que l'on se trouve au centre ou au bord de 1'image.35 Selon la plateforme utilisee pour effectuer le traitement, la configuration des unites de calcul peut varier. Ainsi, dans une realisation, les operations specifiques sont realisees par des unites de calcul chainees. En fait, dans ce cas, les unites de calcul peuvent etre chainees Les unites de calcul peuvent egalement etre placees en parallele, afin de traiter plusieurs informations elementaires simultanement. Dans ce cas, les unites de calculs sont chainees pour pouvoir combiner des resultats de calculs issus d'informations elementaires differentes par exemple des filtres. Dans une realisation, pour faciliter le cablage du composant comprenant les differents processeurs, les unites de calcul sont chainees selon un chainage a une dimension. Dans une autre realisation, le chainage est circulaire. Cette derniere realisation permet d'obtenir un traitement ininterrompu, puisque lorsqu'une information elementaire a transite partoutes les unites de calcul, et a subi un certain nombre d'operations specifiques, elle est aussitot transmise de nouveau a la premiere unite de calcul. Le traitement doit, bien entendu, s'adapter a configuration de la plateforme, ceci afin d'utiliser au mieux les capacites materielles de cette plateforme. A cet effet, dans une realisation, le procede comprend 1'etape d'affecter les operations specifiques aux unites de calcul en fonction du chainage des unites de calcul, et de la sequence. Cette etape peut egalement etre realisee par un compilateur situe en amont de la plateforme. Par ailleurs, toujours afin d'utiliser au mieux les capacites de la plateforme, it peut etre interessant d'utiliser des unites de calcul programmables, c'est-a-dire que la sequence d'operations specifiques et/ou 1'affectation des operations specifiques aux differentes unites de calcul peut etre modifiee apres realisation du composant contenant ces unites de calcul. Ainsi, dans une realisation, 1'ordre et/ou la nature des operations specifiques sont modifiables. Par contre, meme si les unites de calcul sont programmables, elles peuvent etre programmees une premiere fois au moment de la realisation du composant. De cette facon, dans une realisation de 1'invention, les operations specifiques sont effectuees par des unites de calcul cablees selon au moins une sequence predeterminee d'operations specifiques. Cette realisation permet, par exemple, de se dispenser de 1'utilisation d'une memoire externe. En effet, au lieu de disposer d'une telle memoire contenant le sequencement des operations a realiser pour un algorithme, on peut cabler les unites de calcul de facon telle que les operations soient realisees dans un ordre correspondant a cet algorithme que l'on veut appliquer a un objet. La plateforme sur laquelle est effectuee le traitement peut disposer de differents types de memoire qui varient, tant en terme de capacite qu'en terme de debit d'acces. Par exemple, une memoire rapide et/ou des registres peuvent etre utilises pour stocker des resultats d'operations a court terme, dans le cas d'operations telles que des filtres qui necessitent la reutilisation immediate de certaines donnees. Ainsi, dans une realisation, au moins une operation specifique est effectuee par au moins une unite de calcul dotee d'une unite de memoire de capacite limitee pour stocker des informations elementaires et/ou des resultats d'operations specifiques, cette memoire contenant au plus seize informations elementaires et/ou resultats d'operations specifiques. Les memoires rapides ici ayant generalement une capacite limitee, it est necessaire, dans certains cas, de disposer egalement d'une memoire de plus grande capacite afin de stocker davantage d'informations elementaires et/ou resultats d'operations specifiques. A cet effet, dans une realisation, au moms une operation specifique est effectuee par au moms une unite de calcul ayant acces a une unite de memoire de communication, contenant au moms une information elementaire et/ou au moms un des resultat d'operation specifique issus d'autres sous-objets. Cette memoire de communication est, generalement, utilisee pour stocker des informations elementaires et/ou resultats d'operations specifiques a long terme, utilises pour des traitements d'autres sous-objets. Seulement une partie des operations specifiques produisent ou utilisent de telles donnees, et le debit necessaire est donc limite. La regularite apportee par 1'invention permet de determiner tres simplement quelles sont ces donnees et donc de se passer d' un mecanisme de memoire cache, ce qui reduit la complexite et le cant de la plateforme. Ainsi, dans une realisation, 1'unite de memoire de communication a un debit d'acces inferieur a 0.3*N acces/sousobjet/operation specifique. Une telle memoire, avec un debit d'acces relativement lent, sera moms onereuse que si l'on souhaitait utiliser une memoire a la fois rapide et de grande capacite. Ceci est un avantage de 1'invention. Si la plateforme de traitement est telle que la capacite memoire est reduite, it faut choisir une taille de sous-objets telle qu'on peut appliquer correctement un traitement. Ainsi dans une realisation, utilisee notamment dans le cas on la plateforme est integree dans un telephone mobile, la valeur de N est fixee a 1. Par exemple, si la plateforme est destinee a traiter des photographies prises par le telephone mobile, toutes les operations s'appliqueront a un seul pixel a la fois.35 Au contraire, dans certains cas comme, par exemple, lorsque la plateforme comporte un processeur vectoriel, on peut disposer d'un grand nombre d'unites de calcul. Cette configuration materielle permet, si les unites de calcul sont utilisees a bon escient, d'accelerer le processus de traitement d'un objet. A cet effet, dans une realisation, au moms une operation specifiques est effectuee simultanement par au moms deux unites de calcul identiques. L'invention permet alors, par la regularite du traitement, d'exploiter au mieux les processeurs. Le stockage en memoire des informations elementaires et des resultats d'operations necessite 1'utilisation d'un adressage relativement simple, afin de ne pas perdre trop de temps fors de la recherche d'informations elementaires. A cet effet, dans une realisation, au moms une partie des resultats d'operations specifiques est stockee en memoire a une adresse de la forme > , le decalage etant constant pour taus les resultats d'une meme operation specifique. La memoire tampon est, de preference, integree dans une des memoires de la plateforme utilisee pour le traitement. Dans une autre realisation, 1'adresse de base est modifiee a chaque fois qu'on change de sous-objet dans le processus de traitement. Dans une realisation, cet adressage peut etre utilise notamment pour les donnees de communication entre les sous-objets selon au moms une dimension. Dans le cas particulier d'un processeur vectoriel, le calcul d'adresse est commun a 1'ensemble des processeurs et a une memoire delivrant des groupes d'informations elementaires et/ou de resultat d'operations specifiques de la taille d'un sous-objet peut etre utilisee. On a vu plus haut que, dans certaines configurations materielles, chaque unite de calcul disposait de sa propre memoire. Dans ce cas, une adresse donnee peut etre relative a plusieurs memoires, c'est-a-dire qu'une adresse memoire telle que definie ici represente en fait 1'ensemble des adresses memoire utilisees par toutes les unites de calcul effectuant une meme operation specifique. Dans une realisation, au moms une partie des resultats d'operations specifiques est stockee en memoire a une adresse predeterminee pour taus les resultats d'une meme operation specifique. Le procede defini ci-dessus est tel que le nombre d'unites de calcul necessaires pour effectuer le traitement peut etre relativement reduit. Ainsi, dans une realisation, lorsque les operations specifiques sont effectuees par au moms une unite de calcul dotee d'au moms une unite de registres et d'au moms une memoire de communication entre sous-objets, le nombre de transistors de la plateforme de traitement est inferieur a 10000 par unite de calcul, y compris 1'unite de registres associee sans la memoire de communication. Dans une realisation de 1'invention, on fournit a la plateforme, de preference directement, des donnees formatees specifiques calculees a partir de donnees formatees generiques, ces donnees formatees generiques comprenant des premieres donnees decrivant au moms une sequence d'operations generiques, le calcul des donnees formatees specifiques etant effectue en tenant compte d'un mode de parcours des informations elementaires dans la plateforme et d'operations specifiques issues des operations generiques, ces operations specifiques formant la sequence d'operations specifiques a effectuer sur un objet lors de son traitement dans la plateforme. Ainsi, on peut facilement modifier le traitement de 1'objet en changeant les donnees formatees generiques et obtenir automatiquement des donnees formatees specifiques optimisees pour la plateforme. De sorte que la mise sur le marche des plateformes est accelere. De sorte que la taille de code, le temps de calcul et la quantite de memoire sont optimises. De sorte que la consommation electrique et le coat de la plateforme sont reduits. Les operations generiques sont des operations qui s'appliquent a des blocs logiques, c'est-a-dire a des entites abstraites, sans notion de taille ni de forme, composees d'informations elementaires, et pouvant constituer tout ou partie de 1'objet. Dans la presente description, des donnees formatees generiques sont des donnees numeriques permettant de decrire un traitement a apporter sur un objet par une plateforme de traitement de donnees, independamment de la plateforme ellememe. Les donnees formatees specifiques peuvent etre fournies directement ou indirectement en utilisant un compilateur pour generer un binaire adapte a la plateforme a partir des donnees formatees specifiques. I1 existe differents modes de parcours possibles, dont certains seront decrits plus loin. A partir de ces modes de parcours, on peut ainsi generer automatiquement les operations specifiques qui doivent etre appliquees a 1'objet a traiter. Ceci permet une mise sur le marche des algorithmes en un temps relativement court. Dans une realisation, les operations generiques comprennent au moms une operation generique elementaire comprise dans le groupe comprenant : 1'addition de blocs logiques et/ou de parametres, la soustraction de blocs logiques et/ou de parametres, le calcul de la valeur absolue de la difference entre des blocs logiques, la multiplication de blocs logiques et/ou de parametres, le maximum parmi au moms deux blocs logiques et/ou parametres, le minimum parmi au moms deux blocs logiques et/ou parametres, 1'application d'une table de correspondance, le choix conditionnel de blocs logiques et/ou parametres, ce choix se faisant de la facon suivante : si a > b on choisit c, sinon on choisit d, avec a, b, c et d qui sont des blocs logiques et/ou des parametres, 1'histogramme d'un bloc logique, le changement d'echelle d'un bloc logique, et une operation produisant un bloc contenant au moms une coordonnee. Dans une autre realisation, les informations elementaires sont representees par des valeurs numeriques en virgule fixe, et dans lequel les operations generiques elementaires comprennent des operations de decalage, une operation de saturation et/ou au moms une operation generique elementaire combinee a cette operation de saturation. Toutes les caracteristiques materielles qui viennent d'etre definies sont, bien entendu, valables quel que soit le type de plateforme utilisee, et quel que soit le type d'objet a traiter. Ainsi, dans une realisation, 1'objet a traiter est une image, et les informations elementaires sont des pixels de cette image. Dans ce cas, la plateforme de traitement fait, par exemple, partie d'un appareil de capture et/ou de restitution d'image, et les operations mettent en oeuvre des parametres dont les valeurs dependent de la sequence d'operations et/ou de la plateforme de traitement et/ou de 1'objet a traiter, ces valeurs de parametres etant liees aux caracteristiques de 1'optique et/ou du capteur et/ou de 1'imageur et/ou de 1'electronique et/ou du logiciel de 1'appareil de capture et/ou de restitution d'image. Les caracteristiques peuvent etre par exemple des caracteristiques intrinseques fixes pour taus les objets ou variables selon 1'objet, par exemple des caracteristiques de bruit qui varient en fonction du gain d'un capteur. Les caracteristiques peuvent etre identiques pour toutes les informations elementaires ou variables selon la position absolue de 1'information elementaire, par exemple les caracteristiques de flou de 1'optique. Dans d'autres realisations, 1'objet a traiter est un signal sonore numerise et les informations elementaires sotn les echantillons sonores de ce signal, ou bien encore 1'objet a traiter est un maillage numerique et les informations elementaires sont les informations spatiales et temporelles caracterisant chaque point du maillage. L'invention concerne egalement une plateforme a processeur(s) et memoire(s), destinee a traiter un objet (55) constitue d'informations elementaires de meme nature (54, 56, 58, 60, 154, 156, 158, et 160), comprenant des moyens pour decomposer 1'objet a traiter en au moms deux sous-objets (50, 51, 52 et 53) constitues de N informations elementaires chacun (54, 56, 58, 154, 156, 158), taus les sous-objets (50, 51, 52 et 53) ayant le meme nombre N d'informations elementaires et, des moyens pour effectuer au moms une sequence d'operations specifiques sur les informations elementaires de chaque sous-objet (50 , 51 , 52 , 53), ces moyens de traitement comprenant en outre des moyens pour effectuer, pour chaque sous-objet, au moms N fois chaque operation specifique, de facon, d'une part a faire intervenir au moms une fois chaque information elementaire de chaque sous-objet, et d'autre part a produire N resultats pour chaque operation specifique, les moyens de traitement etant tels qu'au moms une operation specifique (62) de la sequence d'operations specifiques met en oeuvre, directement ou indirectement, au moms une fois au cours de ses N applications (62a, 62b, 62c, 62d, 62e, 62f), une information elementaire appartenant a un autre sous-objet (60, 160). Dans une realisation, 1'objet a traite comprend DO dimensions, les sous-objets comprennent DSO dimensions selectionnees parmi les DO dimensions de 1'objet, et les moyens pour decomposer 1'objet sont tels que, selon au moms une dimension du sous-objet, les sous-objets n'ont pas de recouvrement. Dans une realisation, la plateforme comprend au moins une memoire de communications inter-objet pour stocker les informations elementaires et/ou resultats d'operations specifiques realises pensant le traitement d'un sous-objet, et utilises pour le traitement d'un autre sous-objet. Dans une realisation, la plateforme comprend des moyens pour effectuer une sequence d'operations specifiques ne comportant qu'une operation specifiques mettant en oeuvre les memes donnees lors du traitement de 1'objet. Dans une realisation, 1'objet comprend DO dimensions, les informations elementaires sont revues dans la plateforme selon une dimension DE de 1'objet puis selon les autres dimensions, les sous-objets comprennent DSO dimensions selectionnees parmi les DO dimensions de 1'objet et comprenant la dimension DE, et la plateforme est telle qu'une boucle interne de parcours des sous-objets, comprise dans le traitement, s'effectue selon la dimension DE. Dans une realisation, 1'objet comprend DO dimensions, les informations elementaires sont revues dans la plateforme selon une dimension DE de 1'objet puis selon les autres dimensions, les sous-objets comprennent les DO dimensions de 1'objet ou DO-1 dimensions selectionnees parmi les DO dimensions de 1'objet, la dimension DE n'etant pas comprise, et la plateforme est telle qu'une boucle interne de parcours des sous-objets, comprise dans le traitement s'effectue selon la dimension DE. Dans une realisation, les moyens pour decomposer 1'objet a traiter sont tels que la taille des sous-objets dans chaque dimension est determinee en fonction de la taille de 1'objet et/ou du debit des informations elementaires revues par la plateforme, et/ou de la vitesse de calcul de la plateforme et/ou de la taille et du debit d'au moins une mamoire de la plateforme. Dans une realisation, dans le cas on au moins une partie des operations spacifiques met en oeuvre au moins une valeur de parametres, la plateforme comprend Q unites de calculs calculant la meme operation specifique simultanement, et la plateforme comprend en outre des moyens pour effectuer au moins une sequence d'oparations spacifiques comprenant au moins une operation specifique de selection, cette operation specifique de selection effectuant la selection d'une valeur de parametre parmi C valeurs de parametres en meme temps sur les Q unites de calcul de maniere differentiae par processeur, en fonction d'au moins une information elementaire et/ou d'au moins un resultat d'oparation specifique et/ou d'au moins une valeur de parametre. Dans une realisation, la plateforme comprend Q unites de calculs calculant la meme operation specifique simultanement, et comprend en outre des moyens pour effectuer au moins une sequence d'oparations spacifiques comprenant au moins une operation specifique de selection, cette operation specifique de selection effectuant la selection d'une donnee parmi C donnee en meme temps sur les Q unites de calcul de maniere differentiae par processeur, en fonction d'au moins une information elementaire et/ou d'au moins un resultat d'oparation specifique et/ou d'au moins une valeur de parametre. Dans une realisation, la plateforme comprend des moyens pour effectuer une sequence d'oparations spacifiques comprenant au moins une operation specifique de position, et, 1'objet comportant DO dimensions, cette operation specifique de position produisant une information de position selon une des DO dimensions. Dans une realisation, la plateforme comprend des moyens pour effectuer une sequence d'operations specifiques comprenant au moms une operation specifique produisant une position relative en fonction d'au moms une information elementaire et/ou d'au moms un resultat d'operation specifique et/ou d'au moms une valeur de parametre. Dans une realisation, la plateforme comprend Q unites de calculs pour effectuer au moms une partie des operations 10 specifiques, Q etant egal a N ou un sous-multiple de N. Dans une realisation, le nombre d'unites de calcul Q est different de N, et dans laquelle le traitement du sous-objet comprend une seule boucle interne de N/Q iterations. Dans une realisation, la plateforme est telle que les Q unites de calcul sont identiques. Dans une realisation, la plateforme comprend des 20 moyens pour que les N resultats issus d'une meme operation specifique soient calcules par une meme unite de calcul. Dans une realisation, la plateforme comprend des moyens, lorsqu'au moms une operation specifique mettant en 25 oeuvre au moms un parametre, pour effectuer cette operation specifique, et la plateforme comprend en outre une unite de calcul ayant acces a une unite de memoire contenant une partie des valeurs des parametres, la plateforme etant telle que cette partie etant determinee en fonction des operations specifiques 30 effectuees par cette unite de calcul. Dans une realisation, la plateforme comprend des moyens pour que, lorsqu'au moms une operation specifique met en oeuvre au moms un parametre, ce parametre soit fonction de la 35 position du sous-objet dans un objet a traiter. 15 Dans une realisation, la plateforme comprend des unites de calcul chainees. Dans une realisation, la plateforme comprend des unites de calcul chainees selon un chainage a une dimension. Dans une realisation, la plateforme comprend des unites de calcul chainees selon un chainage circulaire. Dans une realisation, la plateforme comprend des moyens pour d'affecter les operations specifiques aux unites de calcul en fonction du chainage des unites de calcul et de la sequence. Dans une realisation, la plateforme comprend des moyens pour que 1'ordre et/ou la nature des operations specifiques soi (en) t modifiable (s) . Dans une realisation, la plateforme comprend des unites de calcul cablees pour effectuer les operations specifiques selon au moms une sequence predeterminee d'operations specifiques. 25 Dans une realisation, la plateforme comprend au moms une unite de calcul dotee d'une unite de memoire de capacite limitee pour stocker des informations elementaires et/ou des resultats d'operations specifiques, cette memoire contenant au plus seize informations elementaires et/ou resultats 30 d'operations specifiques. Dans une realisation, la plateforme comprend au moms une unite de calcul ayant acces a une unite de memoire de communication, contenant des informations elementaires et/ou des 35 resultats d'operations specifiques issus d'autres sous-objets. 15 20 Dans une realisation, la plateforme est telle que 1'unite de memoire de communication a un debit d'acces inferieur a 0.3*N acces/sous-objet/operation specifique. Dans une realisation, la plateforme est notamment integree dans un telephone mobile, et comprend des moyens pour que la valeur de N soit fixee a 1. Dans une realisation, la plateforme comprend au moms deux unites de calcul identiques effectuant simultanement au moms une meme operation specifique. Dans une realisation, la plateforme comprend des 15 moyens pour qu'au moms une partie des resultats d'operations specifiques soit stockee en memoire a une adresse de la forme >, le decalage etant constant pour tous les resultats d'une meme operation 20 specifique. Dans une realisation, la plateforme comprend des moyens pour modifier 1'adresse de base a chaque fois que l'on change de sous-objet dans le processus de traitement. Dans une realisation, la plateforme comprend des moyens pour qu'au moms une partie des resultats d'operations specifiques soit stockee en memoire a une adresse predeterminee pour tous les resultats d'une meme operation. Dans une realisation, la plateforme comprend au moms une unite de calcul dotee d'une memoire, et dans laquelle le nombre de transistors est inferieur a 10000 par unite de calcul, y compris 1'unite de memoire associee. 10 25 30 35 Dans une realisation, la plateforme comprend des moyens pour recevoir en entree, de preference directement, des donnees formatees specifiques calculees a partir de donnees formatees generiques, ces donnees formatees generiques comprenant des premieres donnees decrivant au moms une sequence d'operations generiques, le calcul des donnees formatees specifiques etant effectue en tenant compte d'un mode de parcours des informations elementaires dans la plateforme et d'operations specifiques issues des operations generiques, ces operations specifiques formant une sequence d'operations specifiques, et la plateforme comprenant des moyens pour effectuer cette sequence d'operations specifiques sur un objet. Dans une realisation, la plateforme comprend des 15 moyens pour traiter un objet etant constitue par une image, les informations elementaires etant des pixels de cette image. Dans une realisation, la plateforme fait partie d'un appareil de capture et/ou de restitution d'image, les operations 20 mettant en oeuvre des parametres dont les valeurs dependent de la sequence d'operations et/ou de cette plateforme et/ou de 1'objet a traiter, ces valeurs de parametres etant liees aux caracteristiques de 1'optique et/ou du capteur et/ou de 1'imageur et/ou de 1'electronique et/ou du logiciel de 25 1'appareil de capture et/ou de restitution d'image. Dans une realisation, la plateforme comprend des moyens pour traiter un objet etant constitue par un signal sonore numerise, les informations elementaires etant les 30 echantillons sonores de ce signal. Dans une realisation, la plateforme comprend des moyens pour traiter un objet etant constitue par un maillage numerique, les informations elementaires sont les informations 35 spatiales et temporelles caracterisant chaque point du maillage. L'invention concerne egalement un objet traite par un procede de traitement conforme au procede precedemment decrit. D'autres caracteristiques et avantages de 1'invention apparaitront avec la description non limitative de certains de ses modes de realisation, cette description etant effectuee a 1'aide des figures sur lesquelles : les figures 1a, 1b, 1c 1d, le et if, deja decrites, representent des exemples de decomposition d'une image en sous-objets, conformement a 1'invention la figure 2 represente un dispositif utilisant un procede conforme a 1'invention, la figure 3 represente un exemple d'une sequence d'operations generiques appliquee a plusieurs blocs logiques et a un parametre, - la figure 4 represente la structure de donnees formatees specifiques fournies a une plateforme, dans un procede conforme a 1'invention, - la figure 5 represente 1'application d'une operation specifique a un objet, et les figures 6, 7 et 8 presentent differentes architectures de plateformes pouvant traiter des objets selon un procede conforme a 1'invention. Le dispositif represente sur la figure 2 est utilise pour traiter une image 22, cette image etant un ensemble de pixels representes par au moms une valeur numerique. Dans ce dispositif, on fournit a un moyen de traitement de donnees numeriques 10 des donnees formatees generiques 12 Ce moyen de traitement est par exemple un compilateur. Les donnees formatees generiques, fournies par un procede conforme a 1'invention, comprennent des premieres et secondes donnees 14 qui decrivent des sequences d'operations generiques et qui fournissent les positions relatives des blocs logiques impliques dans ces operations generiques. Ces premieres et secondes donnees seront illustrees avec la figure 3. Le moyen de traitement 10 recoit egalement en entree un mode de parcours 24 des informations elementaires dans la plateforme determine en fonction des caracteristiques d'une plateforme de traitement 20, telle qu'un appareil de capture ou de restitution d'images. A partir de ces donnees formatees generiques 12 et de ces parametres, le moyen de traitement 10 fournit a la plateforme de traitement 20 des donnees formatees specifiques 18. Les donnees formatees specifiques contiennent differents types de donnees, telles que des donnees concernant 1'organisation des pixels dans la memoire de la plateforme, 1'ordre dans lequel les pixels sont traites par la plateforme ou encore le groupement des operations effectuees par la plateforme. La plateforme 20 utilise alors ces donnees formatees specifiques 18 pour traiter 1'image 22 qu'elle recoit en entree. Le tableau 4 ci-dessous et la figure 3 montrent un exemple de donnees formatees generiques sous la forme d'une sequence d'operations generiques appliquees a un bloc logique B1. Cette sequence comporte trois operations generiques. Les colonnes du tableau representent dans 1'ordre : - le rang de 1'operation dans la sequence, - le nom de 1'operation generique, - le bloc logique (sortie) sur lequel est inscrit le resultat de 1'operation generique, c'est-a-dire 1'emplacement on se trouverait ce resultat si on reconstituait 1'objet a 1'issue de chaque operation, - la premiere entree (entree 1) de 1'operation generique, qui peut etre un bloc logique ou un parametre, - la position relative du bloc logique a utiliser par rapport au bloc logique mis en entree 1, s'il y a lieu, - la seconde entree (entree 2) de 1'operation generique, qui peut egalement titre un bloc logique ou un parametre, et - la position relative du bloc logique a utiliser par rapport au bloc logique mis en entree 2, s'il y a lieu. Les informations se trouvant dans les colonises > sont les informations presentes dans les secondes donnees fournies a un moyen de traitement grace a un procede selon 1'invention. Dans une realisation, les secondes donnees se rapportent a la position relative, selon au moms une dimension de 1'objet notamment spatiale et/ou temporelle, des blocs et/ou des parametres les uns par rapport aux autres, et/ou se rapportant a 1'echelle relative, selon au moms une dimension de 1'objet notamment spatiale et/ou temporelle, des blocs logiques et/ou des parametres les uns par rapport aux autres. Dans ce tableau, ces informations se trouvent sous la forme > et > pour titre comprehensibles, mais en realite, dans les donnees formatees generiques, elles peuvent egalement titre codees par des valeurs numeriques telles que (0 ;1) et/ou par des fonctions telle que (f (x ;y) ;g(x ;y)) . Dans une realisation, une operation generique permet d'obtenir un bloc logique constitue de la position absolue selon une dimension de 1'objet,une autre operation generique dite d'indirection permet d'obtenir un bloc par deplacement et/ou changement d'echelle indique par un deuxieme bloc a partir d'un troisieme bloc. On peut alors effectuer les calculs des fonctions donnant la position relative et/ou 1'echelle relative par exemple 0,5*(x-100) a 1'aide d'operations generiques sur les blocs puis utiliser 1'operation generique d'indirection pour effectuer le deplacement relatif et/ou le changement d'echelle relatif correspondant. Le tableau 4 n'est qu'un exemple de codage, les premieres donnees et secondes donnees peuvent etre codees de diverses facons sous forme tabulee, mais egalement sous forme symbolique, sous forme graphique ou sous toute autre forme. De plus des informations supplementaires relatives aux type des donnees, aux decalages et saturations ne sont pas representees a des fins de simplification de 1'exemple. TABLEAU IV Sequenc Operation Sortie Entree 1 Position relative Entree 2 Position relative e bloc entree 1 bloc entree 2 1 Addition B2 B1 Gauche B1 Droite 2 Table B3 Param 1 B2 3 Multiplicatio B4 B3 B1 n Le premier bloc logique utilise dans cette sequence d'operations est un bloc logique B1 (51). La premiere operation generique est une addition (52) entre le bloc logique B1 decale a gauche(51g), et le bloc logique B1 decale a droite(51d). Le resultat de cette addition est inscrit dans le bloc B2 (53) : B2=Blgauche + Bldroite. La deuxieme operation (54) est une transformation du bloc B2 (53) par rapport a une table. Cette operation a donc en entree le bloc B2 (53) et un parametre Paraml (55) qui represente la table de modification. Le resultat de cette operation est inscrite dans le bloc B3 (56) : B3 = LUT (Paraml, B2). La troisieme et derniere operation (57) de cette sequence est une multiplication de blocs logiques. Cette operation a pour entrees le bloc logique B3 (56) et le bloc logique B1 (51) : B4 = B3*B1. Le bloc logique B4 (58) est ainsi le bloc obtenu a 1'issue de la sequence d'operations generiques. Les donnees formatees generiques de 1'exemple du tableau 4 sont independantes de la plateforme, de la decomposition de 1'objet en sous-objets, du mode de parcours des informations elementaires de 1'objet, de 1'ordre dans lequel les informations elementaires seront traitees dans la plateforme, ainsi que de 1'organisation en memoire. En effet, les donnees formatees generiques du tableau 1 peuvent etre traduites de diverses facons en donnees formatees specifiques ou en code pour la plateforme, par exemple, sans que la liste soit limitative, selon les traductions suivantes. Un premier exemple de traduction bien que non optimal en terme de memoire et de temps de calcul permet d'illustrer une traduction simple sans passer par une decomposition en sous-objets : Pour chaque pixel de 1'objet d'entree BP1 (correspondant au bloc logique B1) en excluant les deux colonnes 20 de gauche et de droite, les pixels etant parcourus de gauche a droite puis de haut en bas Additionner le pixel situe a gauche du pixel courant et le pixel situe a droite, stocker le resultat dans un bloc physique BP2 (correspondant au bloc logique B2). 25 Pour chaque pixel de BP2 parcouru de gauche a droite puis de haut en bas appliquer la table au pixel courant et stocker le resultat dans un bloc physique BP3 (correspondant au bloc 30 logique B3) Pour chaque pixel de BP3 parcouru de gauche a droite puis de haut en bas Multiplier le pixel courant par le pixel correspondant de BP1 et stocker le resultat dans le bloc 35 physique de sortie BP4 (correspondant au bloc logique B4) Un deuxieme exemple de traduction montre que l'on peut diminuer la taille de la memoire utilisee sans changer les donnees formatees generiques. En effet, dans le premier exemple on utilise 4 blocs physiques de taille voisine de 1'image. On peut n'utiliser que 2 blocs physique en utilisant la meme memoire pour BP2, BP3 et BP4. On obtient la traduction suivante : Pour chaque pixel de 1'objet d'entree BP1 (correspondant au bloc logique B1) en excluant les deux colonnes de gauche et de droite, les pixels etant parcourus de gauche a droite puis de haut en bas Additionner le pixel situe a gauche du pixel courant et le pixel situe a droite, stocker le resultat dans un bloc physique BP2 (correspondant au bloc logique B2). Pour chaque pixel de BP2 parcouru de gauche a droite puis de haut en bas appliquer la table au pixel courant et stocker le resultat dans un bloc physique BP2 (correspondant maintenant au bloc logique B3) Pour chaque pixel de BP2 parcouru de gauche a droite puis de haut en bas Multiplier le pixel courant par le pixel correspondant de BP1 et stocker le resultat dans le bloc physique de sortie BP2 (correspondant maintenant au bloc logique B4) Un troisieme exemple de traduction montre que l'on peut reduire le temps de calcul sans changer les donnees formatees generiques. En effet, dans le deuxieme exemple on utilise 2 blocs physiques de taille voisine de 1'image, mais on ecrit 3 fois entierement le bloc physique BP2, on lit 2 fois entierement le bloc physique BP1 et on lit 2 fois entierement le bloc physique BP2. On peut se limiter a une lecture et une ecriture seulement avec un mode de parcours different et des blocs differents. Ceci reduit le nombre d'instructions necessaires, mais egalement les acces a la memoire. Dans ce cas un sous-objet est constitue de un pixel. On obtient la traduction suivante : Pour chaque pixel de 1'objet d'entree BP1 (correspondant au bloc logique B1) en excluant les deux colonnes de gauche et de droite, les pixels etant parcourus de gauche a 10 droite puis de haut en bas Additionner le pixel situe a gauche du pixel courant et le pixel situe a droite, appliquer la table au resultat et multiplier la sortie de la table par le pixel courant , stocker le resultat dans le bloc physique courant de 15 sortie BP2 (correspondant au bloc logique B4) Dans un quatrieme exemple, plus particulierement adapte a un processeur scalaire avec cache, on ecrit le resultat dans la meme zone memoire que 1'entree. Ceci permet de reduire 20 encore la taille de la memoire et de rendre local les acces memoire, ce qui est tres favorable dans le cas d'une memoire cache ou une memoire paginee. Dans ce cas un sous-objet est constitue de un pixel. On obtient ainsi la traduction suivante : 25 Pour chaque pixel de 1'objet d'entree BP1 (correspondant au bloc logique B1) en excluant les deux colonnes de gauche et de droite, les pixels etant parcourus de gauche a droite puis de haut en bas Additionner le pixel situe a gauche du pixel 30 courant et le pixel situe a droite, appliquer la table au resultat et multiplier la sortie de la table par le pixel courant , stocker le resultat dans le bloc physique courant de sortie BP1 a la place du pixel situe a la gauche du pixel courant (le pixel de gauche n'est plus utilise par la suite 35 contrairement au pixel courant qui va devenir le pixel de gauche pour la prochaine iteration ; BP1 correspond partiellement au bloc logique B4 et partiellement au bloc logique B1) Un cinquieme exemple de traduction est particulierement adaptee a un processeur de traitement du signal avec une petite memoire rapide et une grosse memoire lente, chaque sous-objet est un rectangle par exemple 32x32 ou toute autre valeur maximisant 1'utilisation de la memoire rapide, les rectangles etant jointifs. On obtient ainsi la traduction suivante : Pour chaque sous-objet, les sous-objets etant parcourus de gauche a droite puis de haut en bas Lancer un transfert par un mecanisme de DMA ( > du bloc physique d'entree suivant depuis la memoire lente vers la memoire rapide, correspondant au sous-objet suivant etendu de une colonne a gauche et a droite, soit 32x34 Lancer un transfert par un mecanisme de DMA ( > du bloc physique de sortie precedent depuis la memoire rapide vers la memoire lente On prend en entree le bloc physique correspondant au sous-objet courant etendu de une colonne a gauche et a droite, soit 32x34 et obtenu a 1'issue du DMA de 1'iteration precedente Pour chaque pixel du bloc physique d'entree (correspondant au bloc logique B1) en excluant les deux colonnes de gauche et de droite parcouru de gauche a droite puis de haut en bas Additionner le pixel situe a gauche du pixel courant et le pixel situe a droite, appliquer la table au resultat et multiplier la sortie de la table par le pixel courant du bloc, stocker le resultat dans le bloc physique courant de sortie (correspondant au bloc logique B4) Un sixieme exemple de traduction est particulierement adaptee a un processeur vectoriel capable d'appliquer un meme calcul aux differents pixels du vecteur, chaque sous-objet est un rectangle par exemple 64 pixels horizontaux ou toute autre valeur egale a la taille d'un vecteur que la plateforme sait traiter et stocker. Cette traduction ne necessite aucune memoire car un vecteur est traite a la fois. On obtient ainsi la traduction suivante : Pour chaque sous-objet V1 de 1'objet d'entree BP1 (correspondant au bloc logique B1) en excluant les deux colonnes de gauche, les sous-objets etant parcourus de gauche a droite puis de haut en bas En debut de chaque ligne creer un vecteur VO 15 contenant a droite les 2 pixels de gauche de la ligne Extraire de VO et V1, le vecteur V2 correspondant aux deux pixels de droite de VO et aux pixels de gauche de V1 en excluant les 2 pixels de droite de VO; additionner V1 et V2 pour obtenir V2, appliquer la table a 20 chaque pixel de V2 pour obtenir V2, Extraire de VO et V1, le vecteur V3 correspondant au pixel de droite de VO et aux pixels de gauche de V1 en excluant le pixel de droite de VO; copier V1 dans VO pour 1'iteration suivante ; multiplier V2 par V3 pour obtenir V2 , stocker le resultat V2 dans le bloc physique 25 courant de sortie. Les troisieme, quatrieme, cinquieme et sixieme exemples ci-dessus correspondent a des realisations selon 1'invention pour diverses plateformes avec des architectures 30 diverses notamment en terme de memoire et de parallelisme. En particulier 1'invention permet de : reduire la taille du code en n'utilisant qu'une seule boucle, et/ou reduire la taille memoire, a 0 dans 1'exemple, 35 mais dans le cas plus general on it y a des filtres verticaux, it faut quand meme quelques lignes de memoire si on veut eviter de refaire des calculs pour les donnees en entree des filtre verticaux, et/ou - reduire le nombre d'instructions necessaires, notamment en groupant les boucles, et/ou - s'adapter a toute taille de vecteur, et/ou s'adapter a toute architecture memoire Afin de simplifier, les exemples produisent une image plus petite que 1'image d'entree. On peut facilement si c'est necessaire, obtenir une image de sortie de taille identique a 1'image d'entree en ajoutant du code en debut et fin de chaque ligne pour dupliquer le pixel du bord. La figure 4 represente la structure des donnees formatees specifiques a la sortie d'un moyen de traitement 10, ces donnees etant destinees a etre fournies a une plateforme de traitement 20, selon un procede conforme a 1'invention. Les donnees formatees specifiques sont calculees par un moyen de traitement a partir de donnees formatees generiques 32 fournies au moyen de traitement et d'un mode de parcours 34 des informations elementaires dans la plateforme, determine par ce moyen de traitement. Les donnees formatees generiques comportent des premieres donnees 36 contenant des donnees 38 decrivant au moins une operation generique ou sequence d'operations a realiser par le moyen de traitement. Les donnees formatees generiques comportent egalement des secondes donnees 40 se rapportant a la position et 1'echelle relative de blocs logiques les uns par rapport aux autres, pour les operations generiques impliquant au moins deux blocs logiques. A partir des ces donnees formatees generiques et du mode de parcours 34, le moyen de traitement fournit des donnees 42 relatives aux operations specifiques, et des donnees 44 relatives aux boucles. Ces donnees 42 et 44 font partie des donnees formatees specifiques 30. La figure 5 represente 1'application d'une operation ou operation specifique a un objet. Dans cette figure, 1'objet 55 est decoupe en quatre sous-objets 250, 251, 252 et 253. Chacun de ces sous-objets est compose de six informations elementaires. Parmi la sequence d'operations a appliquer a 1'objet 255 se trouve 1'operation 262. Cette operation est appliquee six fois sur chaque sous-objet (262a, 262b, 262c, 262d, 262e et 262f) de maniere a produire six resultats (264). Au cours de ses six applications sur un sous-objet, 1'operation 262 fait intervenir des informations elementaires d'un autre sous-objet. Par exemple, son application au sous-objet 250 se deroule de la facon suivant : 1'application 262a fait intervenir les informations elementaires 254 et 256, 1'application 262b fait intervenir les informations elementaires 256 et 258, 1'application 262c fait intervenir les informations elementaires 258 et 260, 1'information elementaire 260 appartenant au sous-objet 252. De meme 1'application 262d fait intervenir les informations elementaires 154 et 156, 1'application 62e fait intervenir les informations elementaires 156 et 158, 1'application 62f fait intervenir les informations elementaires 158 et 160, 1'information elementaire 160 appartenant au sous-objet 252. On va maintenant decrire plusieurs exemples de modes de parcours pouvant etre determines par un procede conforme a 1'invention. Chacun de ces modes de parcours est destine a etre utilise dans une plateforme dont 1'architecture est representee sur 1'une des figures 5 a 7. Dans un premier exemple, illustre par la figure 6, la plateforme de traitement comporte cinq processeurs chaines en une dimension, c'est-a-dire que le resulat des caluls sortant du processeur Proc A est utilisee en entree du processeur ProcB, et ainsi de suite. L'information elementaire sortant du processeur ProcE est appliquee a 1'entree du processeur ProcA. Chacun des processeurs est dote d'une unite de memoire de capacite limitee, notee MemA a MemE Cette unite de memoire est destinee a stocker les valeurs de parametres utiles aux operations specifiques effectuees par le processeur, ou des informations elementaires ou resultats d'operations qui sont destines a titre reutilises rapidement par le processeur. Dans ce premier exemple, le traitement consiste a appliquer aux informations elementaires composant 1'objet une 10 sequence de huit operations notees OP1 a OP8. Afin de traiter 1'objet, celui-ci doit titre decompose en sous-objets de N informations elementaires chacun. N, qui doit titre un multiple de Q (Q = 5, nombre d'unites de calculs), est determine en amont de la plateforme par un procede conforme 15 a 1'invention, en fonction notamment des capacites memoire de la plateforme. Dans 1'exemple N = 5. Par ailleurs, afin d'assurer un sequencement regulier des operations specifiques utiles, on cree des operations specifiques sans effet, OP9 et OP10 par un moyen de traitement 20 situe en amont de la plateforme, de telle sorte que le nombre d'operations specifiques a realiser sur chaque sous-objet soit un multiple du nombre de processeurs disponibles. En fonction du type des operations specifiques, on affecte chaque operation a effectuer a un processeur. Ici, 25 - le processeur A realise OP1 et OP6, - le processeur B realise OP2 et OP7, le processeur C realise OP3 et OP8, - le processeur D realise OP4 et OP9, et - le processeur E realise OP5 et OP10. 30 Chaque processeur execute un jeu d'instructions (InsA a InsE) correspondant aux operations specifiques qui lui ont ete affectees. De cette affectation dependent egalement les parametres stockes dans les memoires a capacite limitee. Par exemple, si OP1 est une multiplication par 2, la memoire MemA 35 contiendra le chiffre 2. Une fois ces affectations r~alis~es, les operations se deroulent selon un s~quencement decrit par le tableau I cidessous : Dans ce tableau, les instants d'avancement du 5 processus sont notes Ti, T2, T14. Tableau I IE1 1E2 1E3 1E4 1E5 OP1 T1 - ProcA T2 - ProcA T3 - ProcA T4 - ProcA T5 - ProcA OP2 T2 - ProcB T3 - ProcB T4 - ProcB T5 - ProcB T6 - ProcB OP3 T3 - ProcC T4 - ProcC T5 - ProcC T6 - ProcC T7 - ProcC OP4 T4 - ProcD T5 - ProcD T6 -ProcD T7 - ProcD T8 - ProcD OP5 T5 - ProcE T6 - ProcE T7 - ProcE T8 -ProcE T9 - ProcE OP6 T6 - ProcA T7 - ProcA T8 - ProcA T9 - ProcA T10 -ProcA OP7 T7 - ProcB T8 - ProcB T9 - ProcB T10 - T11 - ProcB ProcB OP8 T8 - ProcC T9 - ProcC T10 - T11 - T12 - ProcC ProcC ProcC OP9 T9 - ProcD T10 - T11 - T12 - T13 - ProcD ProcD ProcD ProcD OP10 T10 - T11 - T12 - T13 -T14 - ProcE ProcE ProcE ProcE ProcE Chaque ligne represente une des 10 operations 10 specifiques OP1 a OP10. Chaque colonne represente une des informations elementaires IE1 a IE5 composant chacun des sous-objets a traiter. Cette notation IE1 a IE5 est formelle ; elle ne correspond pas forcement a une realite spatiale ou temporelle. En effet, certaines operations specifiques ont pour 15 effet de deplacer les informations elementaires. Ainsi, 1'information IE1 traitee par 1'operation specifique OP2 peut ne pas titre le resultat de 1'operation specifique OP1 appliquee a 1'information IE1, mais le resultat de cette operation specifique OP1 appliquee a 1'information IE2, par exemple si 20 1'operation specifique OP1 consiste en un decalage vers la gauche. Chaque case de ce tableau contient le nom du processeur qui effectue 1'operation specifique, ainsi que le 1 Sous- Sous-c moment on cette operation sp&cifique est effectuee au cours du traitement. Bien entendu, ce tableau ne repr&sente qu'une partie du traitement. On suppose ici que tous les r&sultats d'op&rations specifiques n&cessaires ont &t& calcul&s au pr&alable dans le traitement. Ainsi, on peut voir qu'a 1'instant T1, le processeur ProcA effectue 1'op&ration OP1 sur la premiere information IE1 du sous-objet 1. A cet instant, les autres processeurs sont en train d'effectuer d'autres operations non repr&sent&es sur ce tableau. A 1'instant T5, on voit que chacun des processeurs effectue une operation sur une des informations du sous-objet 1. Lorsqu'un processeur a effectue une operation sp&cifique sur toutes les informations elementaires d'un sous- objet, it passe a 1'op&ration suivante parmi celles qui lui ont &t& affectees. Ainsi, le processeur ProcA effectue, a partir de T6, 1'op&ration OP6. Lorsqu'un processeur a effectue toutes les operations specifiques qui lui ont &t& affectees, le bloc suivant est trait&. Deux sous-objets diff&rents (sous-objet 1 et sous-objet 2) sont donc traits en meme temps dans la plateforme. Sur ce tableau on constate bien que chaque operation sp&cifique est effectuee N fois (ici N = 5). Ce s&quencement est obtenu par le chainage circulaire en une dimension des processeurs. Les informations elementaires peuvent donc transiter d'une unite de calcul a 1'autre. Par exemple, 1'information elementaire IE1 passe par tous les processeurs pour Dans un deuxieme exemple, illustre sur la figure 7, la plateforme contient cinq processeurs relies a une memoire commune. Une telle structure est classique : elle correspond a celle d'un processeur vectoriel ( > ou SIMD en anglais). Dans 1'exemple, chaque processeur est relie individuellement a une petite memoire pouvant contenir des parametres tels qu'une table de correspondance T. Dans cette structure, chaque processeur effectue toutes les operations specifiques. Ainsi, tous les processeurs recoivent le meme jeu d'instructions INS. On considere dans ce deuxieme exemple le cas on 1'une des operations consiste en 1'utilisation d'une table pour modifier une ou plusieurs informations elementaires. Comme vu precedemment, chacun des processeurs a acces a sa propre table, toutes les tables etant identiques. Dans une variante chaque memoire est partagee par un groupe de processeurs. I1 s'agit d'une realisation parallele : a chaque instant du processus, tous les processeurs realisent la meme operation sur des informations elementaires differentes. Ce deroulement est illustre par le tableau II ci-dessous : Dans ce tableau, les instants d'avancement du processus sont notes T1, T2, T10. Tableau II IE1 1E2 1E3 1E4 1E5 OP1 T1 -ProcA T1 -ProcB T1 -ProcC T1 -ProcD T1 -ProcE OP2 T2 - ProcA T2 - ProcB T2 - ProcC T2 - ProcD T2 - ProcE OP3 T3 - ProcA T3 - ProcB T3 - ProcC T3 - ProcD T3 - ProcE OP4 T4 - ProcA T4 -ProcB T4 - ProcC T4 - ProcD T4 - ProcE OP5 T5 - ProcA T5 - ProcB T5 -ProcC T5 - ProcD T5 - ProcE OP6 T6 - ProcA T6 - ProcB T6 - ProcC T6 -ProcD T6 - ProcE OP7 T7 - ProcA T7 - ProcB T8 - ProcC T7 - ProcD T7 -ProcE OP8 T8 - ProcA T8 - ProcB T8 - ProcC T8 - ProcD T8 - ProcE OP9 T9 -ProcA T9 - ProcB T9 - ProcC T9 - ProcD T9 - ProcE OP10 T10 - T10 - T10 -T10 - T10 - ProcA ProcB ProcC ProcD ProcE On peut voir dans ce tableau qu'a un instant donne Ti, 1'operation specifique OPi est effectuee par chacun des processeurs ProcA a Proc E respectivement sur les informations elementaires IE1 a IE5. Au bout du 10ieme increment, on constate bien que chaque operation specifique de la sequence d'operations specifiques a ete realisee sur chacune des informations elementaires d'un sous-objet. Dans ce cas, it apparait qu'il n'est pas necessaire de completer la sequence d'operations specifiques par des operations sans effet, puisque les operations specifiques sont realisees en parallele par tous les processeurs. De cette facon, une fois 1'operation OP8 terminee, on peut recommencer le processus en appliquant 1'operation OP1 sur les informations elementaires constituant le sous-objet suivant. Dans un troisieme exemple, illustre par la figure 8, la plateforme comporte un processeur vectoriel compose de cinq processeurs relies a une memoire commune, similaire au processeur vectoriel notamment present dans un ordinateur de type personnel (PC).. Its sont egalement tous relies a une petite memoire pouvant contenir des parametres, et notamment une table de correspondance. Dans cette structure, chaque processeur effectue toutes les operations specifiques. Ainsi, tous les processeurs recoivent le meme jeu d'instructions INS comportant des donnees decrivant toutes les operations specifiques a realiser. On considere dans cet exemple le cas on deux operations specifiques de suite consistent en 1'utilisation d'une table pour modifier une ou plusieurs informations elementaires. Ici, les tables ne sont presentes qu'a un seul endroit, et les processeurs doivent donc se les partager. Au debut du processus, on est dans une realisation parallele, puisque tous les processeurs realisent en meme temps une meme operation sur les differentes informations elementaires d'un sous-objet. Ce deroulement est illustre par le tableau III ci-dessous : Dans ce tableau, les instants d'avancement du 15 processus sont notes Ti, T2, T18. Tableau III IE1 1E2 1E3 1E4 1E5 OP1 T1 -ProcA T1 -ProcB T1 -ProcC T1 -ProcD T1 -ProcE OP2 T2 - ProcA T2 - ProcB T2 - ProcC T2 - ProcD T2 -ProcE OP3 T3 - ProcA T3 - ProcB T3 - ProcC T3 - ProcD T3 - ProcE OP4 T4 -ProcA T5 - ProcB T6 - ProcC T7 - ProcD T8 - ProcE OP5 T9 - ProcA T10 -ProcB T11 - ProcC T12 - ProcD T13 - ProcE OP6 T10 - ProcA T11 - ProcB T12 - ProcC T13 - ProcD T14 - ProcE OP7 T11 - ProcA T12 - ProcB T13 - ProcC T14 ProcD T15 - ProcE OP8 T12 - ProcA T13 - ProcB T14 - ProcC T15 - ProcD T16 - ProcE OP9 T13 - ProcA T14 - ProcB T15 - ProcC T16 - ProcD T17 - ProcE OP10 T14 - ProcA T15 - ProcB T16 - ProcC T17 - ProcD T18 - ProcE On peut voir dans les trois premieres lignes de ce 20 tableau qu'a un instant donne Ti, 1'operation specifique OPi est effectuee par chacun des processeurs ProcA a Proc E respectivement sur les informations elementaires IE1 a IE5. Lorsqu'on arrive a 1'operation OP4 qui utilise une table, on se retrouve face a un probleme d'acces, puisque tous 25 les processeurs ne peuvent pas acceder en meme temps a cette table. Les processeurs sont donc obliges >, c'est-a-dire d'attendre que le processeur precedent ait fini d'utiliser la table pour pouvoir s'en servir. Ainsi, 1'operation OP4 est effectuee par les processeurs ProcA a ProcE respectivement aux instants T4 a T8. Si l'on suppose que 1'operation OP5 fait egalement appel a une table, on aura de la meme facon : 1'operation OP5 est effectuee par les processeurs ProcA a ProcE respectivement aux instants T9 a T13. Une fois ces operations effectuees, le processus peut 10 reprendre normalement. 15 REVENDICATIONS 1. Procede pour traiter, dans une plateforme a processeur(s) et memoire (s) , un objet (255) constitue d'informations elementaires de meme nature (254, 256, 258, 260, 154, 156, 158, et 160), ce procede comprenant 1'etape de decomposer 1'objet a traiter en au moms deux sous-objets (250, 251, 252 et 253), constitues de N informations elementaires chacun (254, 256, 258, 154, 156, 158), taus les sous-objets(250, 251, 252 et 253) ayant le meme nombre N d'informations elementaires et, le traitement consistant a effectuer au moms une sequence d'operations specifiques sur les informations elementaires de chaque sous-objet (250 , 251 , 252 , 253, le procede comprenant en outre 1'etape d'effectuer, pour chaque sous-objet, au moms N fois chaque operation specifique, de facon d'une part a faire intervenir au moms une fois chaque information elementaire de chaque sous-objet, et d'autre part a produire N resultats pour chaque operation specifique, la sequence d'operations specifiques etant telle qu'au moms une operation specifique (262) de la sequence met en oeuvre, directement ou indirectement, au moms une fois au cours de ses N applications (262a, 262b, 22c, 262d, 262e, 262f), une information elementaire appartenant a un autre sous-objet (260, 160). 2. Procede selon la revendication 1 dans lequel, 1'objet comprenant DO dimensions et les sous-objets comprenant DSO dimensions selectionnees parmi les DO dimensions de 1'objet, la decomposition de 1'objet en sous-objet est telle que, selon au moms une dimension du sous-objet, les sous-objets n'ont pas de recouvrement. 3. Procede selon 1'une des revendication precedentes dans lequel la plateforme comprend au moms une memoire de communication inter-objet pour stocker les informations elementaires et/ou resultats d'operations specifique realises pendant le traitement d'un sous-objet et utilises pour le traitement d'un autre sous-objet. 4. Procede selon 1'une des revendication precedentes dans lequel la sequence d'operations specifique ne comporte qu'une seule operation specifique mettant en oeuvre les memes donnees fors du traitement de 1'objet. 5. Procede selon 1'une des revendication precedentes dans 1equel, 1'objet comprenant DO dimensions, les informations elementaires sont transmises a la plateforme selon la dimension DE de 1'objet puis selon les autres dimensions, les sous-objets comprennent DSO dimensions selectionnees parmi les DO dimensions de 1'objet et comprenant la dimension DE et le traitement comprenant en outre au moms une boucle interne de parcours des sous-objets effectuee selon la dimension DE 6. Procede selon 1'une des revendication precedentes dans lequel, 1'objet comprenant DO dimensions, les informations elementaires sont transmises a la plateforme selon la dimension DE de 1'objet puis selon les autres dimensions, les sous-objets comprennent les DO dimensions de 1'objet ou les sous-objets comprennent DO-1 dimensions selectionnees parmi les DO dimensions de 1'objet et ne comprenant pas la dimension DE, et le traitement comprenant en outre au moms une boucle interne de parcours des sous-objets effectuee selon la dimension DE. 7. Procede selon 1'une des revendications precedentes dans lequel la taille des sous-objets dans chaque dimension est determinee en fonction de la taille de 1'objet, et/ou du debit de transmission des informations elementaires transmises a la plateforme, et/ou de la vitesse de calcul de la plateforme et/ou de la taille et du debit d'au moms une memoire de la plateforme.35 8. Procede selon 1'une des revendications precedentes dans lequel au moins une partie des operations specifiques met en oeuvre au moins une valeur de parametre et sont effectuees par Q unites de calculs calculant la meme operation specifique simultanement, et dans lequel, la sequence d'oparations specifiques comprenant au moins une operation specifique de selection, 1' operation specifique de selection effectue la selection d'une valeur de parametre parmi C valeurs de parametres en meme temps sur les Q unites de calcul de maniere differentiae par processeur en fonction d'au moins une information elementaire et/ou d'au moins un resultat d'oparation specifique et/ou d'au moins une valeur de parametre. 9. Procede selon 1'une des revendications precedentes dans lequel au moins une partie des operations specifiques sont effectuees par Q unites de calculs calculant la meme operation specifique simultanement, et dans lequel, la sequence d'oparations specifiques comprenant au moins une operation specifique de selection, 1' operation specifique de selection effectue la selection d'une donnae parmi C donnaes en meme temps sur les Q unites de calcul de maniere differentiae par processeur en fonction d'un daplacement relatif obtenu a partir d'au moins une information elementaire et/ou d'au moins un resultat d'oparation specifique et/ou d'au moins une valeur de parametre. 10. Procede selon 1'une des revendications precedentes dans lequel la sequence d'oparations specifiques comprend au moins une operation specifique de position et 1'objet comporte DO dimensions, cette operation specifique de position produisant une information de position selon une des DO dimensions. 11.Procada selon 1'une des revendications precedentes dans lequel la sequence d'oparations specifiques comprend au moins une operation specifique produisant une position relative en fonction d'au moins une information elementaire et/ou d'au moins un resultat d'operation specifique et/ou d'au moins une valeur de parametre. 12.Procede selon 1'une des revendications precedentes dans lequel au moins une partie des operations specifiques est effectuee par Q unites de calculs, Q etant egal a N ou un sous-multiple de N. 13. Procede selon la revendication 12 sans lequel Q et N sont differents et le traitement du sous-objet comprend une seule boucle interne de N/Q iterations. 14. Procede selon la revendication 12 ou 13 dans lequel 15 les Q unites de calcul sont identique. 15. Procede selon 1'une des revendications precedentes dans lequel les N resultats issus d'une meme operation specifique sont calcules par une meme unite de calcul. 20 16. Procede selon 1'une des revendications precedentes dans lequel, au moins une operation specifique mettant en oeuvre au moins un parametre, cette operation specifique est effectuee par au moins une unite de calcul ayant acces a une unite de 25 memoire contenant une partie des valeurs des parametres, cette partie etant determinee en fonction des operations specifiques effectuees par cette unite de calcul. 17. Procede selon 1'une des revendications precedentes 30 dans lequel, au moins une operation specifique mettant en oeuvre au moins un parametre, la valeur de ce parametre est fonction de la position du sous-objet et/ou de 1'information elementaire dans 1'objet a traiter. 18. Procede selon 1'une des revendications precedentes dans lequel les operations specifiques sont effectuees par des unites de calcul chainees. 19. Procede selon la revendication 18 dans lequel les operations specifiques sont effectuees par des unites de calcul chainees selon un chainage a une dimension. 20. Procede selon la des revendication 18 dans lequel 10 les operations specifiques sont effectuees par des unites de calcul chainees selon un chainage circulaire. 21. Procede selon 1'une des revendications 18 a 20 comprenant 1'etape d'affecter les operations specifiques aux 15 unites de calcul en fonction du chainage des unites de calcul et de la sequence. 22. Procede selon 1'une des revendications precedentes dans lequel 1'ordre et/ou la nature des operations specifiques 20 sont modifiables. 23. Procede selon 1'une des revendications precedentes dans lequel les operations specifiques sont effectuees par des unites de calcul cablees selon au moms une sequence 25 predeterminee d'operations specifiques. 24. Procede selon 1'une des revendications precedentes dans lequel au moms une operation specifique est effectuee par au moms une unite de calcul dotee d'une unite de memoire de 30 capacite limitee pour stocker des informations elementaires et/ou des resultats d'operations specifiques, cette memoire contenant au plus seize informations elementaires et/ou resultats d'operations specifiques. 25. Procede selon 1'une des revendications precedentes dans lequel au moins une operation specifique est effectuee par au moins une unite de calcul ayant acces a une unite de memoire de communication, contenant au moins une information elementaire et/ou au moins un resultat d'operation specifique issus d'autres sous-objets. 26. Procede selon la revendication 25 dans lequel 1'unite de memoire de communication a un debit d'acces inferieur 10 a 0.3*N acces/sous-objet/operation specifique. 27. Procede selon 1'une des revendications precedentes, notamment utilise dans le cas on la plateforme de traitement est integree dans un telephone mobile, dans lequel la valeur de N 15 est fixee a 1. 28. Procede selon 1'une des revendications precedentes dans lequel au moins une operation specifique est effectuee simultanement par au moins deux unites de calcul identiques. 20 29. Procede selon 1'une des revendications precedentes dans lequel au moins une partie des resultats d'operations specifiques est stockee en memoire a une adresse de la forme >, le decalage etant constant pour taus les resultats d'une meme operation specifique. 30. Procede selon la revendication 29 dans lequel on 30 modifie 1'adresse de base a chaque fois que l'on change de sous-objet dans le processus de traitement. 31. Procede selon 1'une des revendications precedentes dans lequel au moins une partie des resultats d'operations specifiques est stockee en memoire a une adresse predeterminee pour taus les resultats d'une meme operation. 32. Procede selon 1'une des revendications precedentes dans lequel, les operations specifiques etant effectuees par au moms une unite de calcul dotee d'au moms une unite de registres et d'au moms une memoire de communication entre sous-objets, le nombre de transistors de la plateforme de traitement est inferieur a 10000 par unite de calcul, y compris 1'unite de registre associee sans la memoire de communication. 33. Procede selon 1'une des revendications precedentes dans lequel on fournit a la plateforme, de preference directement, des donnees formatees specifiques calculees a partir de donnees formatees generiques, ces donnees formatees generiques comprenant des premieres donnees decrivant au moms une sequence d'operations generiques, le calcul des donnees formatees specifiques etant effectue en tenant compte d'un mode de parcours des informations elementaires dans la plateforme et d'operations specifiques issues des operations generiques, ces operations specifiques formant la sequence d'operations specifiques a effectuer sur un objet lors de son traitement dans la plateforme. 34. Procede selon 1'une des revendications precedentes dans lequel 1'objet a traiter est une image et les informations elementaires sont des pixels de cette image. 35. Procede selon 1'une des revendications precedentes dans lequel la plateforme de traitement fait partie d'un appareil de capture et/ou de restitution d'image, et dans lequel, les operations mettant en oeuvre des parametres dont les valeurs dependent de la sequence d'operations et/ou de la plateforme de traitement et/ou de 1'objet a traiter, ces valeurs de parametres sont liees aux caracteristiques de 1'optique et/ou du capteur et/ou de 1'imageur et/ou de 1'electronique et/ou du logiciel de 1'appareil de capture et/ou de restitution d'image. 36. Procede selon 1'une des revendications 1 a 33 dans lequel 1'objet a traiter est un signal sonore numerise et les informations elementaires sont les echantillons sonores de ce signal. 37. Procede selon 1'une des revendications 1 a 33 dans lequel 1'objet a traiter est un maillage numerique et les informations elementaires sont les informations spatiales et temporelles caracterisant chaque point du maillage. 38. Plateforme a processeur(s) et memoire(s), destinee a traiter un objet (55) constitue d'informations elementaires de meme nature (54, 56, 58, 60, 154, 156, 158, et 160), comprenant des moyens pour decomposer 1'objet a traiter en au moms deux sous-objets (50, 51, 52 et 53) constitues de N informations elementaires chacun (54, 56, 58, 154, 156, 158), taus les sous- objets(50, 51, 52 et 53) ayant le meme nombre N d'informations elementaires et, des moyens pour effectuer au moms une sequence d'operations specifiques sur les informations elementaires de chaque sous-objet (50 , 51 , 52 , 53), ces moyens de traitement comportant des moyens pour effectuer, pour chaque sous-objet, au moms N fois chaque operation specifique, de facon, d'une part, a faire intervenir au moms une fois chaque information elementaire de chaque sous-objet, et, d'autre part, a produire N resultats pour chaque operation specifique, les moyens de traitement etant tels qu'au moms une operation specifique (62) de la sequence d'operations specifiques met en oeuvre, directement ou indirectement, au moms une fois au cours de ses N applications (62a, 62b, 62c, 62d, 62e, 62f), une information elementaire appartenant a un autre sous-objet (60, 160).35 39. Plateforme selon la revendication 38 dans laquelle, 1'objet a traiter comprenant DO dimensions, les sous-objets comprennent DSO dimensions selectionnees parmi les DO dimensions de 1'objet et les moyens pour decomposer 1'objet sont tels que, selon au moms une dimension du sous-objet, les sous-objets n'ont pas de recouvrement. 40. Plateforme selon la revendication 38 ou 39 comprenant au moms une memoire de communication inter-objet pour stocker les informations elementaires et/ou resultats d'operations specifiques realises pendant le traitement d'un sous-objet et utilises pour le traitement d'un autre sous-objet. 41. Plateforme selon 1'une des revendications 38 a 39 comprenant des moyens pour effectuer une sequence d'operations specifiques ne comportant qu'une seule operation specifique mettant en oeuvre les memes donnees lors du traitement de 1'objet. 42. Plateforme selon 1'une des revendications 38 a 41 dans laquelle, 1'objet comprenant DO dimensions, les informations elementaires sont revues selon la dimension DE de 1'objet puis selon les autres dimensions, les sous-objets comprenant DSO dimensions selectionnees parmi les DO dimensions de 1'objet et comprenant la dimension DE, la plateforme etant telle qu'une boucle interne de parcours des sous-objets, comprise dans le traitement s'effectue selon la dimension DE. 43. Plateforme selon 1'une des revendications 38 a 42 dans laquelle, 1'objet comprenant DO dimensions, les informations elementaires sont revues selon la dimension DE de 1'objet puis selon les autres dimensions, les sous-objets comprenant les DO dimensions de 1'objet ou DO-1 dimensions selectionnees parmi les DO dimensions de 1'objet, la dimension DE natant pas comprise, la plateforme atant telle qu'une boucle interne de parcours des sous-objets, comprise dans le traitement, s'effectue selon la dimension DE. 44. Plateforme selon 1'une des revendications 38 a 43 dans laquelle les moyens pour decomposer 1'objet a traiter sont tels que la taille des sous-objets dans chaque dimension est daterminae en fonction de la taille de 1'objet et/ou du debit des informations alamentaires revues par la plateforme, et/ou de la vitesse de calcul de la plateforme et/ou de la taille et du debit d'au moms une mamoire de la plateforme. 45. Plateforme selon 1'une des revendications 38 a 44 comprenant, dans le cas on au moms une partie des operations specifiques met en oeuvre au moms une valeur de parametres, Q unites de calculs calculant la meme operation specifique simultanement, la plateforme comprenant en outre des moyens pour effectuer au moms une sequence d'oparations specifiques comprenant au moms une operation specifique de selection, cette operation specifique de selection effectuant la selection d'une valeur de parametre parmi C valeurs de parametres en meme temps sur les Q unites de calcul de maniere differentiae par processeur, en fonction d'au moms une information elementaire et/ou d'au moms un rasultat d'oparation specifique et/ou d'au moms une valeur de parametre. 46. Plateforme selon 1'une des revendications 38 a 45 comprenant Q unites de calculs calculant la meme operation specifique simultanement, la plateforme comprenant en outre des moyens pour effectuer au moms une sequence d'oparations specifiques comprenant au moms une operation specifique de selection, cette operation specifique de selection effectuant la selection d'une donnee parmi C donnee en meme temps sur les Q unites de calcul de maniere differentiae par processeur, en fonction d'au moms une information elementaire et/ou d'au moms un resultat d'operation specifique et/ou d'au moins une valeur de parametre. 47. Plateforme selon 1'une des revendications 38 a 46 comprenant des moyens pour effectuer une sequence d'operations specifiques comprenant au moins une operation specifique de position, et, 1'objet comportant DO dimensions, cette operation specifique de position produisant une information de position selon une des DO dimensions. 48. Plateforme selon 1'une des revendications 38 a 47 comprenant des moyens pour effectuer une sequence d'operations specifiques comprenant au moins une operation specifique produisant une position relative en fonction d'au moins une information elementaire et/ou d'au moins un resultat d'operation specifique et/ou d'au moins une valeur de parametre. 49. Plateforme selon 1'une des revendication 38 a 48 comprenant Q unites de calculs pour effectuer au moins une partie des operations specifiques, Q etant egal a N ou un sous-multiple de N. 50. Plateforme selon la revendication 49 dans laquelle le nombre d'unites de calcul Q est different de N, et dans laquelle le traitement du sous-objet comprend une seule boucle interne de N/Q iterations. 51. Plateforme selon la revendication 49 ou 50 dans laquelle les Q unites de calcul sont identique. 52. Plateforme selon 1'une des revendications 38 a 51 comprenant des moyens pour que les N resultats issus d' une meme operation specifique soient calcules par une meme unite de calcul. 35 3. Plateforme selon 1'une des revendications 38 a 52 comprenant : - des moyens pour, lorsqu'au moms une operation specifique met en oeuvre au moms un parametre, effectuer cette 5 operation specifique, et une unite de calcul ayant acces a une unite de memoire contenant une partie des valeurs des parametres,la plateforme etant telle que cette partie etant determinee en fonction des operations specifiques effectuees par cette unite de calcul. 54. Plateforme selon 1'une des revendications 38 a 53 comprenant des moyens pour que, lorsqu'au moms une operation specifique met en oeuvre au moms un parametre, la valeur de ce parametre soit fonction de la position du sous-objet et/ou de 1'information elementaire dans 1'objet a traiter. 55. Plateforme selon 1'une des revendications 38 a 54 comprenant des unites de calcul chainees. 56. Plateforme selon la revendication 55 comprenant des unites de calcul chainees selon un chainage a une dimension. 57. Plateforme selon la revendication 55 comprenant des 25 unites de calcul chainees selon un chainage circulaire. 58. Plateforme selon 1'une des revendications 55 a 57 comprenant des moyens pour affecter les operations specifiques aux unites de calcul en fonction du chainage des unites de 30 calcul et de la sequence. 59. Plateforme selon 1'une des revendications 38 a 58 comprenant des moyens pour que 1'ordre et/ou la nature des operations specifiques soi (en) t modifiable (s) . 35 60. Plateforme selon 1'une des revendications 38 a 59 comprenant des unites de calcul cablees pour effectuer les operations specifiques selon au moms une sequence predeterminee d'operations specifiques. 61. Plateforme selon 1'une des revendications 38 a 60 comprenant au moms une unite de calcul dotee d'une unite de memoire de capacite limitee pour stocker des informations elementaires et/ou des resultats d'operations specifiques, cette memoire contenant au plus seize informations elementaires et/ou resultats d'operations specifiques. 62. Plateforme selon 1'une des revendications 38 a 61 comprenant au moms une unite de calcul ayant acces a une unite de memoire de communication, contenant au moms une information elementaire et/ou au moms un resultat d'operations specifiques issus d'autres sous-objets. 63. Plateforme selon la revendication 62 dans laquelle 20 1'unite de memoire de communication a un debit d'acces inferieur a 0.3*N acces/sous-objet/operation specifique. 64. Plateforme selon 1'une des revendications 38 a 63, notamment integree dans un telephone mobile, comprenant des 25 moyens pour que la valeur de N soit fixee a 1. 65. Plateforme selon 1'une des revendications 38 a 64 comprenant au moms deux unites de calcul identiques effectuant simultanement au moms une meme operation specifique. 30 66. Plateforme selon 1'une des revendications 38 a 65 comprenant des moyens pour qu'au moms une partie des resultats d'operations specifiques soit stockee en memoire a une adresse de la forme >, le decalageetant constant pour tous les resultats d'une meme operation specifique. 67. Plateforme selon la revendication 66 comprenant des 5 moyens pour modifier 1'adresse de base a chaque fois que l'on change de sous-objet dans le processus de traitement. 68. Plateforme selon 1'une des revendications 38 a 67 comprenant des moyens pour qu'au moms une partie des resultats 10 d'operations specifiques soit stockee en memoire a une adresse predeterminee pour tous les resultats d'une meme operation. 69. Plateforme selon 1'une des revendications 38 a 68 comprenant au moms une unite de calcul dotee d'au moms une 15 unite de registres et d'au moms une memoire de communication, et dans laquelle le nombre de transistors est inferieur a 10000 par unite de calcul, y compris 1'unite de registre associee sans la memoire de communication. 20 70. Plateforme selon 1'une des revendications 38 a 69 comprenant des moyens pour recevoir en entree, de preference directement, des donnees formatees specifiques calculees a partir de donnees formatees generiques, ces donnees formatees generiques comprenant des premieres donnees decrivant au moms 25 une sequence d'operations generiques, le calcul des donnees formatees specifiques etant effectue en tenant compte d'un mode de parcours des informations elementaires dans la plateforme et d'operations specifiques issues des operations generiques, ces operations specifiques formant une sequence d'operations 30 specifiques, et la plateforme comprenant des moyens pour effectuer cette sequence d'operations specifiques sur un objet. 71. Plateforme selon 1'une des revendications 38 a 70 comprenant des moyens pour traiter un objet etant constitue par une image, les informations elementaires etant des pixels de cette image. 72. Plateforme selon 1'une des revendications 38 a 71 faisant partie d'un appareil de capture et/ou de restitution d'image, les operations mettant en oeuvre des parametres dont les valeurs dependent de la sequence d'operations et/ou de cette plateforme et/ou de 1'objet a traiter, ces valeurs de parametres etant liees aux caracteristiques de 1'optique et/ou du capteur et/ou de 1'imageur et/ou de 1'electronique et/ou du logiciel de 1'appareil de capture et/ou de restitution d'image. 73. Plateforme selon 1'une des revendications 38 a 70 comprenant des moyens pour traiter un objet etant constitue par un signal sonore numerise, les informations elementaires etant les echantillons sonores de ce signal. 74. Plateforme selon 1'une des revendications 38 a 70 comprenant des moyens pour traiter un objet etant constitue par un maillage numerique, les informations elementaires sont les informations spatiales et temporelles caracterisant chaque point du maillage. 75. Objet traite par un procede de traitement conforme 25 a 1'une des revendications 1 a 37.