Brevet FR2601166A1 — publié le 19880108

Procédé d'extraction et de modélisation des contours d'une image et dispositif pour la mise en oeuvre de ce procédé L'invention concerne l'extraction et la modélisation des contours d'une image, par exemple une image de télévision ou une image de radar, chaque point de cette image étant représenté par une valeur numérique, par exemple la valeur de luminance dans le cas d'une image de télévision. Les contours sont des lignes constituées par les frontières entre les divers objets représentés par une image. Ils sont constitués par des transitions de luminance lorsqu'il s'agit d'une image de télévision. Il est nécessaire de réaliser une extraction des contours d'une image pour de nombreuses applications, notamment pour la reconnaissance de formes. Le 10 résultat de cette extraction est un signal binaire traduisant pour chaque point de l'image son appartenance ou sa non-appartenance à un contour. Pour l'application à la reconnaissance de formes, il est avantageux que les contours extraits soient parfaitement continus et d'épaisseur minimale. En pratique, les objets représentés dans une image comportent 15 des transitions floues et l'image est affectée par une certaine quantité de bruit. Il est donc difficile d'extraire des contours sous la forme de lignes continues et minces. Les procédés connus ont pour inconvénients de générer des contours manquant de continuité, ou au contraire comportant des lignes parasites. Le but de l'invention est de réaliser une extraction de 20 contours ne présentant pas ces défauts. L'objet de l'invention est un procédé permettant d'extraire des contours en les modélisant sous la forme de lignes continues constituées de segments de droite dont les caractéristiques sont déterminées par un procédé récursif prenant en compte le module et l'orientation du gradient de luminance en chaque 25 point de l'image successivement. Ce procédé peut être appliqué en temps réel à une suite de trames d'images de télévision. Selon l'invention, un procédé d'extraction et de modélisation des contours d'une image, chaque point d'image étant représenté par une valeur numérique, est caractérisé en ce qu'il consiste à: - détecter les points, dits point à fort gradient, o le gradient des valeurs représentatives des points d'image a un module supérieur à une valeur fixée; - déterminer l'orientation Ri du gradient en chacun des points à fort gradient, parmi un nombre déterminé s de valeurs d'orientation possibles: R1,..., Rs; regrouper les points à fort gradient dans des zones constituées de points connexes ayant une même valeur d'orientation, chaque zone étant désignée par une valeur numérique, appelée numéro de zone, et étant caractérisée par un vecteur, dit vecteur d'état, ayant des compo10 santes fonctions des points regroupés dans la zone; - modéliser les contours de l'image en représentant chaque zone par un segment de droite passant par le barycentre des points de cette zone et ayant une direction perpendiculaire à l'orientation du gradient dans cette zone, après que tous les points à fort gradient ont été 15 regroupés dans des zones; - représenter chaque point d'image par une valeur binaire fonction de son appartenance ou non à l'un des segments représentant les contours. L'inven.ion sera mieux comprise et d'autres caractéristiques apparaîtront à l'aide de la description ci-dessous et des figures l'accompa20 gnant: - les figures 1 à 9 illustrent la mise en oeuvre du procédé selon l'invention pour un exemple de portion d'image; - les figures 10a à 10d et lia à lld illustrent une étape du procédé selon l'invention; - les figures 12 à 17 illustrent une autre étape du procédé selon l'invention pour un exemple de portion d'image; - la figure 18 représente le schéma synoptique d'un exemple de réalisation du dispositif selon l'invention, pour la mise en oeuvre du procédé selon l'invention; - les figures 19, 20, 22, 23, 24 représentent des schémas synoptiques plus détaillés de cet exemple de réalisation; - les figures 25, 26, 27 représentent des organigrammes illustrant le fonctionnement d'une partie de cet exemple de réalisation, appelée générateur de contours. La figure 1 représente les valeurs de luminance d'une image 2601 166 constituée par une trame d'une image de télévision classique. Les abscisses X et les ordonnées Y sont constituées par le rang des points sur une ligne et par le rang de cette ligne. Pour simplifier, la description ne portera que sur le traitement d'une portion d'image, dont les valeurs de luminance sont celles entourées par un cadre en pointillés, sur la figure 1. Une première étape du procédé d'extraction des contours consiste à détecter les points, appelés points à fort gradient, o le gradient de luminance a un module suffisamment important pour correspondre à un contour, et consiste à déterminer l'orientation locale de ce gradient en 10 chacun de ces points à fort gradient afin de connaître la direction du contour, la direction dun contour étant perpendiculaire à celle du gradient de luminance sur ce contour. Dans un exemple de mise en oeuvre, il consiste à calculer six produits de convolution L x G1 LxG2 L x G6 L étant une matric:e carrée 5 x 5 constituée par la valeur de luminance du point o l'on cherche à déterminer le module et l'orientation 20 du gradient, et par les valeurs de luminance des 24 points voisins. Les six matrices G1..., G sont des matrices carrées 5 x 5 décrites par Névatia dans "Linear Feature Extraction and Description", Computer Graphics and Image Processing - June 1980" G1 = -100 - 100 0 100 100 - 100 - 100 0 100 100 - 100 - 100 0 100 100 - 100 - 100 0 100 100 - 100 - 100 0 100o 100 G2 = - 100 32 100 100 100 - 100 - 78 92 100 100 - 100 - 100 0 100 100 - 100 - 100 - 92 78 100 - 100 - 100 - 100 - 32 100 G3 = 10 - 32 - 100 - I00 - 100 100 O - 100 - 100 100 32 - 100 100 100 100 78 - 92 - 100 - 100 100 o0 - 100 - 100 100 - 78 - 100 100 - 32 100 - 100 - 100 100 - 100 - 100 100 - 100 - 100 - 92 - 100 100 - 78 100 100 - 100 - 100 - 92 - 100 - 100 - 78 - 100 - 100 - 100 10 - 100 100 - 100 - 100 - 32 - 100 - 100 - 100 - 100 - 100 - 100 - 100 G5 = G6 = Ces matrices sont appellées masques et permettent de discriminer respectivement six orientations du gradient: 0 , 150 , 120 , 90 , 60 , 30 , correspondant respectivement à six orientations des contours: 90 , 60 , 30 , 0 , 150 , et 120 , mesurées par rapport à une ligne horizontale, 25 dans le sens des aiguilles d'une montre. L'orientation du contour est déterminée en comparant les valeurs des six produits de convolution. Celui qui a la plus grande valeur absolue indique quelle est l'orientation du contour. D'autre part, sa valeur absolue traduit le module du gradient de la luminance. Cette valeur absolue permet donc de discriminer les points 30 à fort gradient de luminance par rapport aux autres points de l'image. La discrimination des points à fort gradient consiste à comparer la valeur 26 0 1 1 6 6 absolue du plus grand produit de convolution obtenu, par rapport à une valeur de seuil fixée. Si cette valeur absolue est supérieure à la valeur de seuil, le point considéré est un point à fort gradient et appartient donc à un contour. La figure 2 représente un tableau donnant la valeur absolue du plus grand produit de convolution pour les points de la portion d'image entourée de pointillés sur la figure 1. La figure 3 représente un tableau donnant, en degrés, la valeur de l'orientation du contour en chacun de ces points, cette valeur d'orientation 10 étant déterminée pour chaque point en comparant entre elles les valeurs absolues des six produits de convolution obtenus pour le point considéré. Dans cet exemple, la figure 3 représente les valeurs de l'orientation pour tous les points, même pour les points o le module du gradient est faible, c'est-à-dire pour des points qui par la suite ne seront pas considérés 15 comme appartenant à un contour. La figure 4 représente un tableau donnant les valeurs de l'orientation des contours uniquement pour les points à fort gradient, c'est-à-dire les points o la valeur absolue du plus grand produit de convolution est supérieure à une valeur de seuil qui est fixée à 47 dans cet exemple. La 20 partie du tableau laissée en blanc correspond aux points qui n'appartiennent pas à des contours. Il est à remarquer que ce procédé de détection des points de contour peut être appliqué en considérant les points d'une image dans un ordre quelconque, qui peut être différent de l'ordre d'analyse. Il est à la portée de l'homme de l'art de réaliser cette détermination des points à fort gradient et la détermination de l'orientation des contours par d'autres méthodes connues, notamment une méthode décrite par MM. Richard et Benveniste dans: IEEE Transactions on Communications, VolComrn.32, n 6, june 1984 "Recursive Estimation of Local 30 Characteristics of Edges in TV Pictures as Applied to ADPCM Coding". Cette méthode connue nécessite plus de calculs que la méthode décrite cidessus mais permet de discriminer un plus grand nombre de valeurs d'orientation, par exemple 15 dans l'exemple décrit dans ce document IEEE. D'autre part, cette méthode connue réalise un filtrage permettant 35 d'éliminer le bruit affectant lés contours. Une seconde étape du procédé selon l'invention consiste à regrouper les points à fort gradient de luminance qui ont une même valeur d'orientation et sont connexes, pour constituer des zones compactes en vue de modéliser chaque zone par un segment de droite. La figure 4 représente les zones ainsi constituées avec les points à fort gradient de la portion d'image donnée en exemple. Certaines zones sont très petites. Par exemple, la zone dont la valeur d'orientation est 90 et qui est située à l'abscisse X = 5, ne comporte que deux points. Les petites zones ne peuvent pas être considérées comme des segments de contours et sont 1o donc éliminées lorsque leur nombre de points est inférieur à cinq dans cet exemple. Le choix de cette valeur de seuil détermine la rigueur du filtrage éliminant les petits segments de contours. La figure 5 représente les trois zones dont le nombre de points est au moins égal à cinq. Pour distinguer ces zones elles sont désignées par un 15 numéro: 1, 2, 3. La figure 5 représente les numéros de zone attribués à chaque point de contour de la portion d'image donnée en exemple. Une méthode récursive d'attribution des points à fort gradient à des zones, et de caractérisation de ces zones sera décrite plus loin. Une troisième étape du procédé selon l'invention consiste à 20 modéliser les contours de l'image en remplaçant chaque contour, constitué par les points d'une zone, par un segment de droite passant par le barycentre de cette zone, perpendiculaire à l'orientation du gradient, et délimité par les coordonnées maximales des points appartenant à cette zone. 25. Les figures 6, 7, 8 représentent séparément les contours modélisés ainsi obtenus pour les zones n0 1, 2, 3. La figure 9 représente la réunion de l'ensemble des contours modélisés, pour cet exemple d'image. Les points appartenant à un contour modélisé sont représentés par la valeur 1 et les autres points sont représentés par la valeur 0. Le barycentre est 30 représenté par le chiffre I cerclé. La modélisation des contours par des segments se termine par le stockage, dans une mémoire, dite mémoire de contours, ayant une capacité correspondant à une image, de valeurs binaires égales à 1 pour les points appartenant à un contour modélisé par un segment et égales à 0 pour tous les autres points d'image. Pour chacune des zones, les points constituant le segment modélisant cette zone sont: - le barycentre de la zone, ses coordonnées étant notées (Xg, Yg) et étant égales aux valeurs entières de la valeur moyenne des coordonnées X et de la valeur moyenne des coordonnées Y des points de la zone; - des premiers points dont les coordonnées (X, Y) vérifient les relations Y-Y y _ y Pj- K points de la zone. YMIN et YMAX étant les ordonnées minimales et maximales des points de la zone. - des seconds points, destinés à rendre le segment plus continu, ces seconds points étant voisins des premiers points sur la même ligne ou sur la même colonne et étant choisis tels que tout point du segment soit connexe à deux autres points, et pas plus, appartenant au même segment; à l'exception des premiers points qui sont situés aux extrémités du 25 segment, c'est-à-dire les points qui ont au moins une coordonnée égale à XMAX ou XMIN, ou YMAX, ou YMIN, ces points situés aux extrémités n'étant connexes qu'à un seul autre point du segment. Les figures 10a à d montrent un exemple de choix des premiers points constituant les segments pour des contours orientés à 0 , 30 , 60 , 30 90 . Les figures lIa à d montrent les segments obtenus après avoir rajouté les seconds points. Il est à remarquer que ces segments sont constitués de motifs périodiques. Sur ces figures, les pointillés délimitent les segments et correspondent aux ordonnées et aux abscisses extrêmes de zones prises comme exemples. Les "1" cerclés désignent les barycentres des zones. Les figures 1 la à lId représentent le contenu de la mémoire de contours pour chacun- des segments considérés dans cet exemple. Les contours à 120 et 150 sont réalisés par des motifs symétriques de ceux 5 des contours à 60 et à 30 représentés ci-dessus. Naturellement ces motifs peuvent s'étendre sur des longueurs supérieures à celles des exemples représentés ci-dessus. Sur la figure 6, le contour modélisé à partir de la zone n 1 est un segment de droite vertical qui correspond strictement aux points de la 10 zone n 1. Sur la figure 7, le contour modélisé à partir la zone n 2 est un segment ayant une orientation de 60 par rapport à l'horizontal, mesurée dans le sens des aiguilles d'une montre. Le calcul des coordonnées du barycentre donne 4,56 et 7,62 pour les moyennes des coordonnées des points, le barycentre est donc considéré être au point (4, 7). Le segment 15 est constitué de 3 premiers points situés sur une droite inclinée à 60 , passant par le barycentre, et est constitué de 6 seconds points choisis selon la règle définie ci-dessus. La zone n 2 est donc modélisée par un segment de droite ne comportant que 9 points alors que la zone n 2 en comporte 16. La figure 8 représente le segment utilisé pour modéliser le contour correspondant à la zone n 3. La zone n 3 comporte six points o l'orientation du gradient a pour valeur 90 . Leur barycentre a pour coordonnée (3,9). Cette zone n 3 est modélisée par un segment vertical passant par le point de coordonnée (3,9) et délimité par le rectangle 25 d'ordonnée minimale 8 et d'ordonnée maximale 1l1. La comparaison de la figure 5 avec les figures 7 et 8 montrent la simplification des contours procurée par la modélisation sous la forme de segments ayant une faible épaisseur. La modélisation des contours au moyen de segments de droite 30 permet d'extraire des contours continus et minces qui sont facilement exploitables dans des applications telles que la reconnaissance de formes. Pour améliorer la continuité des contours ainsi modélisés, un perfectionnement du procédé selon l'invention consiste à prolonger systématiquement les deux extrémités de tous les segments, avec un nombre de points 35 prédéterminé, dans le but de provoquer éventuellement le raccordement 260 1 1 6 6 des segments qui ont des extrémités proches. Par exemple, chaque - segment est prolongé verticalement de deux unités et horizontalement de deux unités en limitant le segment par les relations YMIN-2 Y\ XMIN - 2 X\ Pour obtenir des segments de droite qui ne soient pas morcelés inutilement, il est nécessaire de regrouper sans erreur les points à fort gradient qui sont connexes et qui ont une même valeur d'orientation du 10 gradient. En effet, si des zones sont morcellées par erreur, le nombre de segments est multiplié et par conséquent les contours extraits sont inutilement compliqués et plus difficile à exploiter. Pour regrouper les points à fort gradient dans des zones constituées de points connexes ayant une même valeur d'orientation, tous les points d'une image sont traités 15 successivement dans l'ordre o les valeurs de luminance sont disponibles, c'est-à-dire dans l'ordre d'analyse de ces points et dans l'ordre d'analyse des lignes. Chaque zone est caractérisée au moyen d'un vecteur d'états, dont les composantes sont actualisées au fur et à mesure du traitement des 20 points d'une image. Pour chaque point, PC, dit point courant, le procédé consiste: - à déterminer une valeur de numéro de zone, z(PC), désignant à l'instant considéré, une zone à laquelle le point courant est attribué, cette valeur z(PC) étant déterminée en fonction de la valeur Z, à l'instant 25 considéré, du numéro de zone du point voisin précédant le point considéré sur la même ligne, en fonction de la valeur Z', à l'instant considéré, du numéro de zone du point voisin homologue du point considéré sur la ligne précédente, et en fonction de la valeur de l'orientation du gradient au point considéré et aux deux points voisins; le point courant est attribué à 30 une zone nouvelle, ou à la zone Z, ou à la zone Z', ou à la zone fictive regroupant les points qui n'appartiennent pas à un contour, et éventuellement la zone Z peut être absorbée par la zone Z' ou inversement la zone Z' peut être absorbée par la zone Z; - à déterminer ensuite des valeurs dites actualisées, des numéros 35 de zones de ces deux points voisins, en fonction des valeurs Z et Z', et en fonction de la valeur de l'orientation du gradient au point courant et aux deux points voisins, pour tenir compte d'une éventuelle absorption de l'une de ces zones si elles sont connexes par l'intermédiaire du point courant; - à déterminer une valeur actualisée des composantes du vecteur 5 d'état de la zone à laquelle le point courant est attribué, en fonction des valeurs Z et Z' des numéros de zone des deux points voisins, à l'instant considéré, et en fonction de la valeur de l'orientation du gradient au point considéré et aux deux points voisins, et en fonction des valeurs, à l'instant considéré, des composantes des vecteurs d'état des zones Z et Z' des deux 10 points voisins; pour tenir compte de l'attribution du point courant à une zone et pour tenir compte de l'absorption éventuelle de l'une de ces zones si elles sont connexes par l'intermédiaire du point courant. Les caractéristiques de chaque zone, et l'existence même de chaque zone ne peuvent être connues d'une manière définitive que lorsque 15 tous les points de l'image ont été attribués à une zone. Les composantes principales du vecteur d'état Ei d'une zone Zi sont: - une valeur R(Zi) codant l'orientation du gradient de tous les points de la zone; - le nombre N(Zi) des points attribués à la zone; - la valeur maximale YMAX(Zi) et la valeur minimale YMIN(Zi) des coordonnées verticales des points attribués à la zone; - la valeur maximale XMAX(Zi) et la valeur minimale XMIN(Zi) des coordonnées horizontales des points attribués à la zone; - la somme GX(Zi) des coordonnées X des points attribués à la zone; - la somme GY(Zi) des coordonnées Y des points attribués à la zone; - une valeur binaire, appelée indicateur cd'absorption et notée 30 T(Zi), égale à 0 si la zone portant le numéro Zi n'a jamais absorbé une autre zone, et égale à I dans le cas contraire. Les composantes GX(Zi), GY(Zi) et N(Zi) permettent de déterminer les coordonnées (Xgyg) du barycentre de la zone. Les valeurs maximales des coordonnées permettent de déterminer le rectangle délimi35 tant le segment modélisant la zone. Par exemple, le tableau ci-dessous Il donne les valeurs des composantes des vecteurs d'état des zones n 1, 2 et 3 représentées sur la figure 5, les zones de taille inférieure à 5 points ayant été éliminées. Les valeurs R(Zi) = 1, 2, 3, 4, 5, 6 codent respectivement les valeurs d'orientation du gradient: 0, 30 , 60 , 90 , 120 , 150 . Zi R(Z? XMIN(Zi) XMAX(Zi) YMIN(Zi) YMAX(Zi) G X(Zi) GY(Z) N2Z) 1 4 9 9 3 7 45 25 5 2 3 3 7 4 il 73 122 16 3 4 3 4 8 il 20 57 6 D'autres composantes peuvent être incorporées à chaque vecteur 10 d'état, en vue d'applications autres que la simple extraction des contours. Par exemple, une composante peut être constituée par la valeur moyenne du module du gradient de luminance des points de la zone, ou encore l'épaisseur du contour avant sa modélisation, ou bien les coordonnées des extrémités du segment représentant la zone. Pour stocker les valeurs des composantes du vecteur d'état de chaque zone il est prévu une mémoire dite mémoire d'états. Pour établir une correspondance entre chaque point d'image et la première valeur de numéro de zone, z(PC), attribuée à ce point à l'instant o il est le point courant, il est prévu une mémoire dite mémoire.d'attente Pour établir une 20 correspondance entre la première valeur z(PC) de numéro de zone attribuée à un point et la valeur actualisée définitive de ce numéro de zone, et pour mémoriser les fusions de zones qui sont réalisées au cours du traitement de tous les points d'une image successivement, il est prévu une mémoire dite mémoire d'adresses qui fait correspondre à chaque valeur de 25 numéro de zone Zi, une autre valeur Zh dite valeur actualisée, qui désigne une zone Zh résultant de la fusion de la zone Zi avec la zone Zh la zone Zi étant absorbée par la zone Zh. Lors du processus récursif d'actualisation des zones, décrit ciaprès, des cascades de fusionnements de zones connexes sont opérées. Si, 30 par exemple, une zone Zj absorbe ensuite la zone Zh, la zone résultante est caractérisée par un seul vecteur d'état Ej, stocké dans la mémoire d'états à l'adresse Zj. Pour que le numéro de zone Zh renvoie aussi à ce vecteur d'état, la mémoire d'adresses contient la valeur Zj à l'adresse Zh. 260 1 166 La mémoire d'adresses permet donc un adressage indirect de la mémoire d'états. En outre, pour toute zone de numéro z, qui n'est pas absorbée par une autre zone, la mémoire d'adresses fait correspondre l'adresse z à l'adresse z. Dans cet exemple un numéro de zone égal à 0 est attribué aux points o le gradient de luminance est inférieur au seuil, et une valeur d'orientation fictive, codée par une valeur R = 0 est attribuée par convention à une zone regroupant tous les points n'appartenant pas à un contour. Comme il a été mentionné précédemment, les valeurs 0 , 30 , 10.o 600, 90 , 120 , 150 de l'orientation du gradient sont codées par R = 1, 2, 3, 4, 5, 6 respectivement. Les valeurs de l'orientation des contours correspondantes sont: 90 , 120 , 1500, 0 , 30 , 60 , mesurées dans le sens des aiguilles-d'une montre. Dans ce qui suit, un point d'image qui est en cours d'attribution est appelé point courant et la valeur codant 15 l'orientation du gradient de luminance au point courant est notée R(PC) . Pour déterminer une première valeur de numéro de zone z(PC), désignant une zone à laquelle le point courant est attribué, un exemple de mise en oeuvre du procédé selon l'invention distingue quatre cas, selon les valeurs des numéros de zone des points voisins du point courant et selon 20 les valeurs codant l'orientation du contour dans ces zones. Dans ce qui suit, le point voisin du point courant et le précédant sur la même ligne sera appelé "point à gauche" et le point voisin du point courant appartenant à la ligne immédiatement précédente, sera appelé "point au-dessus". Ces désignations correspondent au cas, le plus courant, 25 o l'analyse de l'image est faite, de haut en bas et de gauche à droite. Mais le procédé selon l'invention n'est évidemment pas limité à ce type de balayage. Le regroupement des points à fort gradient connexes et ayant une même orientation de contours est illustré par les figures 11 à 17, pour un 30 exemple de portion d'image. Sur la figure 12, les points à fort gradient de luminance sont représentés par du "1", et les points à faible gradient sont représentés par des "0", car dans cet exemple de portion d'image, tous les points à fort gradient sont supposés avoir une même orientation de contours, égale à O degré; et cette orientation est codée par la valeur 1. 35 Sur les figures 13 à 17 chaque point est représenté par un numéro de zone qui désigne la zone à laquelle il appartient à un instant donné. Les figures 13 à 17 correspondent à des instants successifs du traitement, c'est pourquoi certains points ont une valeur de numéro de zone qui varie crd'une gure à une autre, à cause des créations et des fusions de zone. Les quatre cas sont les suivants: ler cas: Le point voisin à gauche et le point voisin au-dessus appartiennent à la zone ayant 0 pour numéro, c'està-dire ne sont pas des points de contour, ou bien ils appartiennent à des zones Z et Z' ayant des orientations R(Z) et R(Z') différentes de R(PC), l'orientation au point 10 courant. Le point courant ne pouvant pas être attribué à l'une de ces deux zones, il est attribué à une zone nouvelle, dont le numéro, Zd, est l'adresse d'une case mémoire disponible dans la mémoire d'adresses. Les valeurs des composantes du vecteur d'état de cette zone sont inscrites dans la mémoire d'états à l'adresse Zi. Ces valeurs sont: 15 R(Zd) = R(PC) = R(PC) N(Zd) = i YMAX(Zd) = Y(PC) YMIN(Zd) = Y(PC) XMAX(Zd) = Y(PC) (1) XMIN(Zd) = X(PC) GX(Zd) = X(PC) GY(Zd) = Y(PC) T(Zd) = 0 La valeur z(PC) = Zd est inscrite dans la mémoire d'attente à une 25 adresse correspondant au point courant, et dans la mémoire d'adresses à l'adresse Zd. Ce cas est rencontré aux points (X = 4, Y = 2) et (X = 3, Y = 3) sur la figure 13. 2ème cas: Le point voisin à gauche du point courant est un point 30 de contour, il appartient à une zone Z dont l'orientation R(Z) est identique à celle, R(PC), au point courant, et le point voisin au-dessus n'est pas un point de contour ou bien appartient à une zone Z' dont l'orientation R(Z') est différente de celle, R(PC), au point courant. Le point courant étant connexe à une zone déjà existante et qui a la même orientation, il est 35 attribué à cette zone. Les valeurs des composantes du vecteur d'état de la zone Z sont actualisées en inscrivant dans la mémoire d'états, à l'adresse Z, les valeurs suivantes: Na(Z) = Np(Z) + i YMAXa(Z) = Maximum de (YMAXp(Z),Y(PC) ) YMINa(Z) = Minimum de (YMIN p(Z),Y(PC)) XMAXa(Z) = Maximum de (XMAXp(Z), X(PC)) XMINa(Z) = Minimum de (XMINp(Z),X(PC)) (2) GXa(Z) = GXp(Z) + X(PC) GYa(Z) = GYp(Z) + Y(PC) Ta(Z) = Tp (Z) Les indices a désignent les valeurs actualisées des composantes, et les indices p désignent les valeurs précédentes des composantes, avant l'actualisation. Ce cas est rencontré au point (X = 5, Y = 2) de l'exemple de la figure 13. 3ème cas: Si les deux points voisins sont des points de contour, il fautdistinguer trois possibilités (a, b, c), selon la valeur de l'orientation du gradient au point courant et en chacun des deux points voisins, et selon 20 que ces zones ont déjà absorbé ou pas une autre zone. Les règles d'attribution du point courant à une zone peuvent comporter alors diverses variantes, selon qu'elles privilégient la zone du point au- dessus ou bien celle du point à gauche. Les règles données ci-dessous ont été choisies dans le but d'éviter le plus possible des cascades d'absorptions d'une zone 25 par une autre zone, et de simplifier ainsi l'actualisation de la mémoire d'adresses. En effet, si une zone Z9, par exemple, absorbe une zone Z8 qui elle-même a absorbé une zone Z7 qui elle- même a absorbé une zone Z6, la mémoire d'adresses doit non seulement faire correspondre Z8 avec Z9 30 mais aussi faire correspondre Z6 et Z7 avec Z9, car les points attribués à la zone Z6 et Z7 doivent être considérés comme attribués maintenant à Z9. Pour cela, deux opérations distinctes sont à réaliser dans la mémoire d'adresses: une mémorisation de l'absorption de Z8 par Z9 en inscrivant la valeur Z à l'adresse Z 8; puis une cascade cd'actualisations du contenu de la mémoire d'adresses, consistant à déterminer quelle zone (Z7) a été absorbée par Z8 puis quelle zone (Z6) a été absorbée par Z7, etc, puis à inscrire Z9 aux adresses constituées par les numéros de toutes ces zones. 5 L'actualisation est donc une opération relativement longue car elle peut nécessiter plusieurs lectures dans la mémoire d'adresses. La règle choisie pour éviter le plus possible les cascades cPd'absorptions est la suivante: Lorsque deux zones ont un point commun, la zone du point au10 dessus a la priorité pour absorber la zone du point à gauche, absorbant ainsi une zone de création plus récente en général. Mais, d'autre part, cette absorption est autorisée seulement si la zone du point à gauche n'a pas absorbé une zone précédemment, sinon c'est la zone du point à gauche qui absorbe la zone du point au-dessus. Pour indiquer si une zone a déjà 15 absorbé au moins une zone, un bit indicateur cPd'absorption T(Zi) est incorporé dans chaque vecteur d'état caractéristique d'une zone Zi Par exemple, pour la zone Z, à laquelle appartient le point à gauche, la valeur de ce bit est T(Z) = 1, si elle a déjà absorbé une zone et T(Z) = 0 dans le cas contraire. - a) si les zones des deux points voisins ont des numéros Z et Z' distincts, si elles ont la même orientation du gradient que celle au point courant, et si la zone du point à gauche n'a jamais absorbé une autre zone (T(Z) = 0), alors la zone Z du point à gauche peut être absorbée par la zone Z' du point au-dessus sans nécessiter une cascade 25 d'actualisations dans la mémoire d'adresses. La valeur Z' est inscrite dans la mémoire d'attente à l'adresse correspondant au point courant, et dans la mémoire d'adresses à l'adresse Z, car elle constitue la valeur actualisée du numéro de zone du point voisin à gauche. Les valeurs des composantes du vecteur d'état de la zone Z' sont actualisées en inscrivant dans la 30 mémoire d'états, à l'adresse Z', les valeurs suivantes: Na(Z') = Np(Z') + I + Np(Z) YMAXa(Z') = Maximum de (YMAXp(Z), Y(PC),YMAXp(Z')) YMINa(Z') = Minimum de (YMINp(Z),Y(PC),YMINp(Z')) a p YMAXa(Z') = Maximum de (XMAXp(Z),X(PC),,XMAXp(Z')) 35 XMINa(Z') = Minimum de (XIMINp(Z),X(PC),XMINp(Z')) 26 01 16 6 GXa(Z') = GXp(Z') + X(PC) + GXp(Z) GYa(Z') = GYp(Z') + Y(PC) + GYp(Z) Ta(Z') = 1 Dans l'exemple représenté sur la figure 13, ce cas est rencontré 5 au point (X = 4, Y = 3). Le point voisin au-dessus appartient à une zone Z1 et le point voisin à gauche appartient à une zone différente, Z2, qui a été créée lorsque le point (X = 3, Y = 3) a été traité. Cependant, l'orientation est la même dans ces zones, Z1 et Z2, et au point courant. D'autre part, la zone Z1 n'a encore jamais absorbée d'autre zone. La zone Z2 peut donc 10 être fondue dans la zone Z1 et le point courant (X = 4, Y = 3) peut être attribué à la zone Z 1 - b) si, comme précédemment, les zones Z et Z' sont distinctes et ont la même orientation du gradient que celle au point courant, mais si la zone Z du point à gauche a déjà absorbé au moins une 15 zone (T(Z) = 1), elle absorbe la zone Z' du point au-dessus. Aucune cascade d'actualisations de la mémoire d'adresses n'est nécessaire si la zone Z' du point au-dessus n'a jamiais absorbé' de zone précédemment (T(Z') = 0). Une absorption inverse, c'est-à-dire une absorption de la zone Z par la zone Z', aurait forcément nécessité une cascade d'actualisations dans la mémoire 20 d'adresses. Une cascade d'actualisations du contenu de la mémoire d'adresses est nécessaire seulement dans le cas o la zone Z' du point au-dessus a, elle aussi, déjà absorbé au moins une zone (T(Z') = T(Z) = 1). Dans le cas le plus simple, o la zone Z' n'a pas absorbé 25 précédemment d'autres zones, la valeur Z n'est inscrite dans la mémoire d'adresses qu'à l'adresse Z. Dans tous les cas, la valeur Z est inscrite dans la mémoire d'attente à l'adresse correspondant au point courant, et dans la mémoire d'adresses à l'adresse Z', car elle constitue la valeur actualisée du numéro 30 de zone du point voisin au-dessus. Les valeurs des composantes du vecteur d'état de la zone Z sont actualisées en inscrivant dans la mémoire d'états, à l'adresse Z, les valeurs suivantes: 260 1 1 66 Na(Z) = Np(Z) + I + Np(Z') YMAXa(Z) = Maximum de (YMAXp(Z),Y(PC),YMAXp(Z') ) YMINa(Z) = Minimum de (YMINp(Z),Y(PC),YMINp(Z')) XMAXa(Z) = Maximum de (XMAXp(Z),X(PC),XMAXp(Z')) XMINa(Z) = Minimum de (XMINp(Z),X(PC),XMINp(Z') ) GXa(Z) = GXp(Z) + X(PC) + GXp(Z') a p p GY (Z) = GYp(Z) + Y(PC) + GYp(Z') Ta(Z) = 1 Ce cas est rencontré au point (X = 14, Y = 4) sur la figure 15: la 10 zone Z1 ne doit pas être absorbée par la zone Z3 pour éviter une cascade d'actualisations dans la mémoire d'adresses, la zone ZI ayant déjà absorbé précédemment Z2. De même, au point (X = 10, Y = 5) sur la figure 16. Finalement, dans cet exemple, tous les points sont attribués à la zone Z1, comme cela est représenté sur la figure 17, car la première zone crée, 15 Z1, absorbe toutes les zones crées au cours du traitement de cet exemple de portion d'image. - c) Si les deux points voisins appartiennent à une même zone (Z = Z') ayant une orientation du gradient identique à celle du gradient au point courant, ce dernier est attribué à cette zone. La valeur Z = Z' est inscrite dans la mémoire d'attente à l'adresse correspondant au point courant. Les composantes de la mémoire crd'états sont actualisées comme décrit, pour le 2ème cas: Ce cas est rencontré par exemple au point (X = 5, Y = 3) sur la figure 14. 4ème cas: Le point voisin à gauche n'est pas un point de contour, ou bien appartient à une zone o l'orientation du gradient est différente de celle au point courant, et le point voisin au-dessus est un point de contour ayant la même orientation de gradient. Le point courant étant connexe à une zone Z' déjà existante, il est attribué à cette zone. La 30 valeur Z' est inscrite dans la mémoire d'attente à l'adresse correspondant au point courant. Les valeurs des composantes du vecteur d'état de la zone Z' sont actualisées en inscrivant dans la mémoire d'états, à l'adresse Z', les valeurs suivantes: Na(Z') = Np(Z') + 1 YMAXa(Z') = Maximum de (Y(PC),YMAXp(Z')) ap YMINa(Z') = Minimum de (Y(PC), YMINp(Z')) XMAXa(Z') = Maximum de (X(PC),XMAXp(Z')) XMINa(Z') = Minimum de (X(PC),XMINp(Z')) (5) GXa(Z') = GXp(Z') + X(PC) GYa(Z') = GYp(Z') + Y(PC) Ta(Z') = Tp(Z') Ce cas est rencontré, par exemple, au point (X = 9, Y = 3) sur la 10 figure 14. Dans l'exemple représenté sur les figures Il à 17, la zone Z1 est propagée de proche en proche tant que la suite des points traités comporte des points de contour ayant la même orientation de gradient et étant connexes à cette zone Z1. Des zones nouvelles, Z2 à Z6, sont 15 créées mais sont absorbées par la zone Z1. Par exemple, au point (X = 14, Y = 3), sur la figure 17, une zone de numéro Z3 est créée, mais au moment du traitement du point endessous elle est absorbée par la zone de numéro Z1. De la même façon des zones de numéros Z4 et Z5 sont créées puis absorbées peu de temps après 20 (figures 15 et 16). Pour chaque point traité il peut y avoir disparition d'une des zones existantes, par conséquent la définition des zones d'une image n'est pas terminée avant que tous les points de cette image aient été traités. Dans l'exemple de la figure 12, les regroupements successifs de zones connexes conduisent à une seule zone Z1 (figure 17). Dans l'exemple des figures 12 à 17, la configuration finale de la mémoire d'adresses est: adresse contenu Z1 z1 Z2 Z1 Z3 Z1 - Z4 z z5 Z1 Z6 Z1 Z7 Z1 Après l'opération de détection des zones de points de contour dans toute une image, le vecteur d'état des zones est utilisé pour réaliser un. raitement numérique. Pour déterminer à quelle zone appartient finalement un point d'image, une première étape consiste à lire dans la mémoire 5 d'attente le numéro z(PC) de la zone à laquelle le point considéré a été attribué initialement, puis une deuxième étape consiste à lire dans la mémoire d'adresses, à l'adresse z(PC), le numéro Z0 de la zone ayant finalement absorbé la zone de numéro z(PC), après une cascade cd'absorptions éventuellement. Dans l'exemple de la figure 12, pour le point (X = 3, 10 Y = 3), le numéro de zone attribué initialement est Z2; cette zone Z2 ayant été absorbée par la zone Zl la mémoire d'adresses fait correspondre Z1 à Z2 et par conséquent le point considéré est traité comme appartenant à la zone Zl. Le vecteur d'état de cette zone est donné par la mémoire d'états à l'adresse Z1 La mémorisation d'une fusion de 2 zones doit être mémorisée au moment o le point courant est attribué à la réunion de ces 2 zones. Par contre, les cascades d'actualisations éventuellement à réaliser dans la mémoire d'adresses peuvent être différées un certain temps. Lorsque vient le moment o un point donné constitue le point voisin à gauche ou le 20 point voisin au-dessus du point courant, il est nécessaire de connaître son numéro de zone actualisé et celui-ci n'est pas forcément identique au premier numéro de zone qui a été attribué au point donné. Le numéro de zone du point à gauche du point courant n'a pas changé depuis l'instant, très proche, o il a été traité. Par contre le numéro de zone du point au25 dessus a changé plusieurs fois à la suite des absorptions de zones. L'actualisation du numéro de zone d'un point donné doit donc être réalisée avant qu'il ne joue le rôle du point voisin au-dessus, et les opérations suivantes doivent avoir été effectuées: - Lire dans la mémoire d'attente le premier numéro de zone z(PD) 30 attribué au point au-dessus. Par exemple z(PD) = Z 1l -Lire dans la mémoire d'adresses le contenu, noté ADR (Z1), de l'adresse Z11. Par exemple, la mémoire d'adresses a le contenu suivant: 260 1166 adresse Zll Z12 Z13 - Z14 contenu Z12 Z13 Z14 Z14 donc ADR(Zll) = Z12 - Lire dans la mémoire d'adresses le contenu, noté ADR(Z12), de l'adresse Z12 ' ADR(Z 12) = Z13 - Lire dans la mémoire d'adresses le contenu noté 10 l'adresse Z13 ' ADR(Z13)= Z14 - Lire dans la mémoire d'adresses le contenu, noté ADR(Z 13), de ADR(Z14), de l'adresse Z14 ADR(Z14) =Z 14 Z14 étant inscrit à l'adresse Z14, la zone de numéro Z14 n'a pas été absorbée par une autre zone, il est donc inutile de continuer le processus. - Ecrire Z14 dans la mémoire d'adresses aux adresses Z13, Z12, Z1. Après ces opérations d'actualisation le contenu de la mémoire 20 d'adresses est le suivant: adresse contenu Zl1 Z14 Z12 Z14 Z 3 Zi Z13 Z14 Z14 Z14 Cette actualisation ne tient compte, évidemment, que des absorptions ayant eu lieu entre l'instant o le point au-dessus était attribué à la zone Zl1 et l'instant o le point courant est considéré. Par la suite, d'autres actualisations sont éventuellement faites aux adresses Z11 ' Z12 30 Z13 'ZI. En pratique il n'est pas nécessaire de faire un test pour détecter qu'un contenu est égal à son adresse et arrêter alors la cascade des lectures. L'expérience montre qu'il n'y a pratiquement jamais plus de deux 260 1!66 cascades. D'autre part, il n'est pas indispensable d'inscrire la valeur actualisée Z14 à toutes les adresses Z1 Z12 ' Z13 car il est possible de retrouver la valeur actualisée, aussi souvent qu'il est nécessaire, en; éalisant à chaque fois une suite de lectures dans la mémoire d'adresses. Il 5 suffit donc de réaliser systématiquement trois lectures, et il n'est pas indispensable de faire l'écriture du numéro obtenu. D'autre part, cette suite cd'opérations étant relativement longue, il est nécessaire d'anticiper l'actualisation d'un temps égal à 3T, T correspondant au temps d'analyse d'un point d'image. En outre, pour gagner du temps les trois lectures ne 10 sont pas faites en série sur une même mémoire en utilisant une mémoire tampon pour stocker une valeur d'adresses entre 2 lectures; elles sont réalisées dans 3 mémoires distinctes mais identiques, qui au prélable ont le même contenu et sont finalement actualisées identiquement. Soit t l'instant o le point courant est attribué à une zone. Pour actualiser la 15 mémoire d'adresses et les deux mémoires auxiliaires, dans l'exemple vu précédemment, les opérations sont les suivantes: - A l'instant t - 3T, lire le contenu noté, ADR1(Z11) de l'adresse Z11l dans la première mémoire auxiliaire: ADRi(Zll) = Z12 - A l'instant t - 2T, lire le contenu, noté ADR2(ADRi(Zi1)), de l'adresse ADR1(Z 1) dans la deuxième mémoire auxiliaire: ADR2(ADR1(Zil)) = ADR2(Zi2) - Z13 - A l'instant t - T, lire le contenu, noté ADR3(ADR2(ADRi1(Z 1))), de l'adresse ADR2(ADRI(Z)) = Z3 dans la mémoire d'états 25 ADR3(Z13) = Z4 Ainsi à l'instant t la valeur actualisée du numéro de zone du point au- dessus du point courant est connue et il est possible alors de traiter le point courant. Cet exemple ne limite pas la portée de l'invention. Il est à la portée de l'homme de l'art de réaliser un plus grand nombre de lectures 30 dans la mémoire d'adresses, et dans les mémoires auxiliaires, et de les répartir sur un intervalle de temps plus long. La figure 18 représente le schéma synoptique d'un exemple de réalisation d'un dispositif d'extraction et de modélisation des contours d'une image, pour la mise en oeuvre du procédé selon l'invention. Il 35 comporte un dispositif 2 de détermination des points de contour et de détermination de l'orientation du gradient en chaque point; des moyens de commande 4; un générateur 5 d'adresses et cPd'états; une mémoire d'attente 6; une mémoire d'adresses 7; une mémoire d'états 8; un générateur 9 de contours modélisés; et une mémoire de contours 1>. Cet exemple de réalisation est destiné à traiter en temps réel une suite d'images de télévision conformes à un standard classique. Ces images de télévision sont constituées chacune de deux trames entrelacées qui sont considérées, dans ce qui suit, comme deux images indépendantes. Une borne d'entrée I reçoit une suite de valeurs numériques représentant 10 la luminance des points d'une trame analysée, échantillonnée, et numérisée selon un procédé classique de télévision. Ces valeurs numériques sont appliquées à la borne d'entrée 1 avec un intervalle de temps T entre chaque valeur, par paquets correspondant chacun à une ligne d'image. Une borne cd'entrée 3 reçoit des signaux de synchronisation correspondant à 15 chaque point cPd'image et à chaque ligne d'image. Une borne d'entrée 21 et une borne de sortie-22 permettent respectivement d'appliquer une valeur d'adresse et des signaux de commande à une entrée de la mémoire de contours 10 et de lire une valeur binaire dans cette mémoire 10, pour exploiter les contours qui ont été détectés et modélisés par le dispositif. 20 La mémoire de contours 10 stocke une valeur binaire pour chaque point d'image, une valeur 0 indiquant un point qui n'appartient pas à un contour modélisé et une valeur 1 indiquant un point appartenant à un contour modélisé. Le dispositif 2 possède une borne cd'entrée reliée à la borne 25 d'entrée I et une borne de sortie reliée à une entrée des moyens de commande 4 et à une borne cPd'entrée 12 du générateur 5 d'adresses et d'états. Les moyens de commande 4 possèdent une entrée reliée à la borne d'entrée 3. La mémoire d'attente 6 possède une entrée reliée à une borne de sortie 15 du générateur 5 et deux sorties reliées à une entrée d'adresses 30 de lecture de la mémoire dadresses 7. La mémoire d'adresses 7 possède une entrée d'adresses d'écriture reliée à une borne de sortie 14 du générateur 5, une entrée de données reliée à une borne de sortie 15 du générateur 5, et une sortie de données reliée à une borne d'entrée 16 du générateur 5 et à une entrée d'adresses de lecture de la mémoire 35 d'états 8. La mémoire d'états 8 possède une entrée d'adresses d'écriture reliée à la borne de sortie 15 du générateur 5, une entrée de données reliée à une borne de sortie 17 du générateur 5 et une sortie de données reliée à une borne d'entrée 18 du générateur 5 et à une borne d'entrée 20 5 du générateur 9 de contours modélisés. Le générateur 9 possède une borne de sortie 19 reliée à l'entrée d'adresses de lecture de la mémoire d'adresses 7, une borne de sortie d'adresses reliée à une entrée d'adresses de la mémoire de contours 10 et une sortie de donnée reliée à une entréesortie de donnée de la mémoire 10. La borne d'entrée 21 et la borne de 10 sortie 22 sont reliées respectivement à l'entrée d'adresses et à l'entréesortie de donnée de la mémoire 10. Le dispositif 2 a pour rôle de déterminer, pour chaque point d'image successivement dans l'ordre d'analyse, s'il appartient ou non à un contour, selon la valeur du gradient de luminance en ce point, et de 15 déterminer l'orientation du gradient de luminance en ce point pour en déduire l'orientation du contour auquel ce point appartient. La sortie du dispositif 2 fournit une valeur R(PC) codant la valeur de l'orientation du gradient de luminance et codant en même temps la valeur de l'orientation du contour puisqu'il est toujours perpendiculaire à l'orientation du gra20 dient. Les valeurs d'orientation 0 , 30 , 60 , 90 , 120 , 150 sont codées par R(PC) = 1, 2, 3, 4, 5, 6, respectivement. Lorsque le point courant n'appartient pas à un contour, la valeur R(PC)= 0 lui est attribuée par convention. Les moyens de commande 4 fournissent des signaux d'horloge 25 synchronisés par les signaux de synchronisation appliqués à la borne d'entrée 3, et ils fournissent des signaux de commande fonction de ces signaux d'horloge et fonction de la suite des valeurs R(PC) fournies par le dispositif 2. Ces signaux commandent tous les éléments du dispositif d'extraction et de modélisation des contours d'une image. Ce dernier 30 fonctionne avec trois périodes distinctes: une période T correspondant à la période d'analyse des points d'image; une période correspondant à la période d'analyse des lignes d'image; et une période correspondant à la période d'analyse des trames d'image; chaque image étant constituée de deux trames entrelacées qui sont considérées chacune comme une image 35 indépendante pour l'extraction et la modélisation des contours. La des- cription suivante considérera successivement le fonctionnement au cours de chacune de ces périodes. Pendant une période T correspondant à l'analyse d'un point, le fonctionnement est le suivant. Les moyens de commande 4 génèrent une 5 suite de signaux de commande qui sont fonction des valeurs R(PC), R(PD), R(PA) codant l'orientation du gradient respectivement au point courant, au point voisin au-dessus du point courant, et au point voisin à gauche du point courant. Une sortie de la mémoire d'attente 6 fournit à l'entrée d'adresses de lecture de la mémoire d'adresses 7 une valeur z(PD) qui est 10 la valeur de numéro de zone ayant été attribuée au point voisin audessus du point courant au moment o ce point est traité. Une lecture dans la mémoire d'adresses 7 fournit à la borne d'entrée 16 du générateur 5 et à l'entrée d'adresses de lecture de la mémoire d'états 8, une valeur Z' qui est la valeur actuelle à l'instant considéré du numéro de zone attribué au 15 point voisin au-dessus. Une lecture dans la mémoire d'états 8 fournit les valeurs E(Z') des composantes du vecteur d'état de la zone ayant pour numéro Z'. Le générateur dadresses et d'états 5 détermine alors la valeur de numéro de zone à attribuer au point courant, z(PC), en fonction de la 20 valeur Z', en fonction de la valeur actuelle Z, à l'instant considéré, du numéro de zone attribué au point voisin à gauche, et en fonction de R(PC), et en fonction des valeurs des composantes des vecteurs d'état E(Z') de la zone du point voisin au-dessus et E(Z) de la zone du point voisin à gauche. La valeur Z et le vecteur d'état E(Z) n'ont pas besoin d'être lus 25 dans la mémoire d'états 8 car le point voisin à gauche du point courant vient juste d'être traité auparavant, la valeur Z et les valeurs des composantes de ce vecteur d'état sont donc encore disponibles à l'intérieur du générateur d'adresses et d'états 5. Ensuite, la valeur z(PC) déterminée par le générateur 5 est 30 appliquée à sa borne de sortie (15). Elle est inscrite dans la mémoire d'attente 6 à un emplacement correspondant au point d'image en cours de traitement, dans la mémoire d'adresses 7 à une adresse d'écriture AD fournie par la borne de sortie 14 du générateur 5, et elle est appliquée à l'entrée d'adresses d'écriture de la mémoire d'états.8. La borne de sortie 35 17- du générateur 5 fournit la valeur E(z(PC)) des composantes du vecteur d'état de la zone de numéro z(PC) à laquelle le point courant est attribué. Si cette zone existait auparavant, la valeur de ces composantes a été actualisée, c'est-à-dire modifiée pour tenir compte du fait que le point courant est attribué à cette zone et qu'il y a eu éventuellement fusion 5 d'une autre zone dans celle-ci. Cette valeur actualisée des composantes de ce vecteur d'état sont inscrites dans la mémoire d'états 8 à l'adresse z(PC). Lorsqu'il y a eu absorption d'une zone, celle du point voisin à gauche ou du point voisin au-dessus du point courant, la valeur z(PC) qui 10 désigne la zone absorbante est inscrite dans la mémoire d'adresses 7 à l'adresse AD qui est constituée alors par la valeur du numéro de la zone absorbée. Cette écriture dans la mémoire d'adresses 7 constitue une actualisation partielle de son contenu. La zone de numéro AD peut avoir absorbé précédemment une ou plusieurs zones il est donc nécessaire de 15 faire correspondre les numéros de ces zones et le numéro AD. Ce processus d'actualisation sera décrit par la suite ainsi que la structure plus détaillée de la mémoire d'adresses 7. Le fonctionnement du dispositif d'extraction et de modélisation des contours comporte aussi une période correspondant à la période 20 d'analyse des lignes d'image, et se déroulant pendant l'intervalle de temps séparant les analyses de deux lignes consécutives d'une image. Il a pour but d'éliminer des zones qui sont terminées et comportent un très petit nombre de points. Cette élimination constitue un filtrage des zones trop petites pour constituer un contour et permet de rendre disponible à 25 nouveau des valeurs de numéro de zone, c'est-à-dire permet de réutiliser des emplacements de la mémoire d'états. Ainsi la capacité de la mémoire d'états peut être considérablement réduite. Ce traitement est réalisé pendant l'intervalle de temps séparant des intervalles de temps correspondant à deux lignes car il nécessite une 30 lecture dans la mémoire d'adresses et une lecture dans la mémoire d'états, qui sont déjà très occupées, par des lectures et des écritures, pendant les intervalles de temps d'analyse des lignes. Il consiste à lire dans la mémoire d'attente 6 une valeur Zt qui est le numéro de zone attribué à un point qui est situé deux lignes au-dessus de celle du point courant. Cette 35 valeur Ztest appliquée à l'entrée d'adresses de lecture de la mémoire d'adresses 7 puis une lecture est réalisée dans la mémoire 7 à cette adresse, pour obtenir une valeur Zt 'qui est le numéro d'une zone, dite zone testée, qui a absorbé la zone de numéro Z Si cette dernière n'a jamais été absorbée Zt = zt. La valeur Zt est appliquée à la borne d'entrée 16 du 5 générateur d'adresses et d'états 5 et à l'entrée d'adresses de lecture de la mémoire détats 8 pour permettre la lecture dans celle-ci de la valeur E(Zt) des composantes du vecteur d'état de la zone testée. En fonction de ces données, Zt et E(Zt), le générateur 5 décide si la zone de numéro Zt doit être éliminée ou non. Si elle est éliminée le numéro de zone Zt sera 10 considéré comme un numéro de zone disponible pour une nouvelle utilisation. Le fonctionnement du dispositif d'extraction et de modélisation des contours a aussi une période correspondant à la période de trames, et concernant plus particulièrement la modélisation des contours. Cette 15 modélisation ne peut avoir lieu qu'après l'extraction de tous les contours d'une trame, puisqu'un contour peut s'étendre sur toute la hauteur d'une trame. La modélisation est réalisée après que tous les points à fort gradient, d'une trame, ont été attribués à des zones, c'est-à-dire pendant l'intervalle de temps séparant les analyses de deux trames successives. 20 Elle consiste d'abord à lire successivement le contenu de chaque adresse de la mémoire d'adresses 7, le générateur 9 de contours modélisés fournissant une suite croissante de valeurs d'adresse z sur sa borne de m sortie 19 qui est reliée à l'entrée d'adresses de lecture de la mémoire 7. Une lecture à l'adresse zm dans la mémoire d'adresses 7 fournit ensuite 25 une valeur- actuelle de numéro de zone, Zm, désignant une zone qui a absorbé la zone zm, si celle-ci a été absorbée. Sinon, elle fournit une valeur égale à Zm'. Ainsi la mémoire d'états ne reçoit que des adresses m correspondant à des zones existantes. Une lecture dans la mémoire d'états 8, à cette adresse Zm, 30 fournit la valeur E(Zm) des composantes du vecteur d'état de la zone de numéro Zm, à la borne d'entrée 20 du générateur 9 de contours modélisés. A partir des données constituées par la valeur des composantes de ce vecteur d'état, le générateur 9 détermine les coordonnées des points d'image constituant un segment modélisant le contour correspondant à la 35 zone de numéro Z et il inscrit une valeur I dans la mémoire de contours m aux adresses correspondant à ces coordonnées. Lorsque plusieurs valeurs d'adresses Zm, de la mémoire d'adresses 7, contiennent une même valeur Zm, parce que la zone Zm a absorbé plusieurs zones, cette tâche de modélisation est répétée inutilement plusieurs fois par le générateur 9, 5 mais cela n'a pas d'autre inconvénient qu'une perte de temps. Comme cela sera décrit par la suite, les numéros des zones absorbées sont considérés comme disponibles et sont attribués dès que possible à de nouvelles zones, par conséquent il reste dans la mémoire d'adresses 7 peu d'adresses correspondant à des zones ayant été absorbées, donc il arrivera peu 10o souvent que le générateur 9 réalise cette tâche de modélisation inutilement. La figure 19 représente un schéma synoptique plus détaillé dudispositif 2 de détermination des points de contour et de détermination de l'orientation du gradient en chaque point, ainsi que des moyens de 15 commande 4. Le dispositif 2 comporte: six dispositifs, 30,..., 31, de calcul de la valeur absolue des produits de convolution L t G1,. L X G6; deux comparateurs 32 et 35; deux multiplexeurs à six entrées et une sortie, 33 et 34; et une porte logique 36. Les dispositifs de calcul 30,..., 31 ont chacun une entrée reliée à la borne d'entrée 1 pour recevoir la 20 suite des valeurs de luminance, et ont chacun une sortie. Le comparateur 32 et le multiplexeur 33 ont chacun six entrées, chacune de ces entrées étant reliée respectivement à la sortie de l'un des dispositifs de calcul 30, 31. Le multiplexeur 34 possède six entrées recevant chacune un mot 25 binaire dont la valeur est respectivement: 1, 2, 3, 4, 5, 6. Le comparateur 32 a pour fonction de déterminer la plus grande valeur parmi les six valeurs appliquées à ses entrées et de fournir sur une sortie un mot binaire M indiquant le rang de cette valeur. Ce mot binaire M est appliqué à une entrée de commande des multiplexeurs 33 et 34 pour commander la 30 sélection d'une entrée correspondant à la valeur du mot M. Ainsi le multiplexeur 33 transmet à sa sortie, qui est reliée à une entrée du comparateur 35, la valeur absolue du produit de convolution le plus grand parmi les six valeurs calculées. Simultanément le multiplexeur 34 transmet vers sa sortie, qui est reliée à une entrée de la porte 36, un mot 35 binaire dont la valeur indique quel est le produit de convolution ayant la 26011 66 plus grande valeur absolue et code donc ainsi l'orientation du gradient et l'orientation du contour. Le comparateur 35 possède une seconde entrée rece'tant une valeur de seuil qui est égale à 47, dans cet exemple, pour discriminer les 5 gradients de forte valeur et les gradients de faible valeur. Lorsque la valeur absolue du produit de convolution appliquée au comparateur 35 est supérieure à cette valeur de seuil, le comparateur 35 fournit sur une sortie un signal logique qui est appliqué à une entrée de commande de la porte 36. La porte 36 transmet alors le mot binaire que lui fournit le 10 multiplexeur 34, à la sortie du dispositif 2. Dans le cas contraire, c'est-àdire si le gradient de la luminance au point considéré est trop faible, la porte 36 ne transmet pas le mot binaire fourni par le multiplexeur 34 et fournit un mot binaire de valeur nulle. La sortie du dispositif '2 fournit donc un mot binaire R(PC) codant l'orientation du gradient de luminance 15 et du contour au point courant si celui-ci est un point de contour, et prenant une valeur nulle si le point courant n'est pas un point de contour. La réalisation des dispositifs 30,..., 31 de calcul de produits de convclution est à la portée de l'homme de l'Art. Chacun peut être constitué de: vingt-cinq registres de 8 bits pour stocker vingt-cinq 20 valeurs de luminance; vingt-cinq multiplieurs de 8 bits; un circuit additionneur à vingt-cinq entrées de 8 bits. Les moyens de commande 4 comportent: -un générateur de signaux d'horloge 40; deux registres 41 et 42; et un circuit séquenceur 43. Le générateur 40 fournit des signaux d'horloge HP1,..., HP7, HZ au 25 rythme de l'analyse des points, un signal d'horloge HL au rythme de l'analyse des lignes, et un signal d'horloge HT au rythme de l'analyse des trames, qui commandent l'ensemble des éléments du dispositif d'extraction et de modélisation de contours, et en particulier le circuit séquenceur 43 qui a pour rôle de fournir des signaux de commande C1, 30..., C12, et deux mots binaires Y(PC), X(PC) qui sont les coordonnées du point courant dans l'image, les axes de ces coordonnées étant orientés dans le sens de progression de l'analyse de l'image, c'est-à-dire de gauche à droite pour l'axe des X et de haut en bas pour l'axe des Y. Une entrée des moyens 4 est reliée à une entrée du circuit 43 et à 35 une entrée du registre 41 pour leur fournir la suite de valeurs R(PC). Une entrée de commande de ce registre 41 reçoit le signal d'horloge HP1 et une sortie est reliée à une entrée du circuit séquenceur 43 et à une entrée du registre 42. Le registre 42 a une entrée de commande recevant le signal d'horloge HP1 et une sortie reliée à une entrée du circuit séquenceur 43. Le registre 41 a une capacité d'une valeur lorsque le registre 42 est un registre à décalage ayant une capacité correspondant à une ligne moins un point dimage. Ils ont pour rôle de retarder les valeurs R(PC) d'une durée correspondant à un point et d'une durée correspondant à une ligne respectivement afin de fournir au circuit séquenceur 43 les 10 valeurs codant l'orientation du gradient au point voisin au-dessus et au point à gauche du point courant. En fonction de ces deux valeurs et de celle codant l'orientation du gradient au point courant, le circuit 43 élabore une séquence de signaux C1,..., C12 pour commander tous les éléments du dispositif d'extraction et de modélisation de contours. Le 5 circuit 43 peut être constitué de compteurs commandés par les signaux d'horloge HP1,. , HP7, HL, HT, HZ; de décodeurs; et de portes..DTD: logiques. Sa réalisation est à la portée de l'homme de l'Art. Les signaux d'horloge HP1,..., HP7 sont déphasés entre eux de telle sorte qu'ils sont répartis régulièrement sur une durée correspondant 20 à trois points d'image. Ainsi, pendant le traitement du point courant, commence le traitement du point suivant et s'achève le traitement du point précédant le point courant. La figure 20 représente le schéma synoptique d'un exemple de réalisation du générateur 5 d'adresses et d'états. Cet exemple de réalisa25 tion comporte: un générateur d'adresses disponibles 50; deux multiplexeurs 49 et 51 équivalents à un commutateur d'un circuit à quatre positions; un multiplexeur 52 équivalent à un commutateur de sept circuits à trois positions; un multiplexeur 53 équivalent à un commutateur de sept circuits à deux positions; un ensemble de 17 registres 54; six 30 additionneurs 55, 60, 61, 63, 68, et 69; un registre 78 ayant une capacité d'une valeur; un registre à décalage 79, ayant une capacité correspondant à une ligne d'image; un circuit logique 62; quatre dispositifs, 56, 57, 64 et 65 de détermination de la valeur maximale parmi deux valeurs; quatre dispositifs, 64, 65, 66 et 67, de détermination de la valeur minimale parmi 2 6 0 1 1 6 6 deux valeurs; un ensemble de onze étages tampons, 70, ayant des sorties pouvant prendre trois états dont un état à haute impédance. Les valeurs AD, z(PC), E(z(PC)), Z, Z' mentionnées sur la figure sont celles présentes dans le générateur 5 à l'instant o se termine le 5 traitement pour attribuer un numéro de zone au point courant. Il est à noter que certaines de ces valeurs seront réutilisées, mais en changeant d'appellation, pour le traitement du point suivant constituant le prochain point courant. Les valeurs Zt et E(Zt), qui sont mentionnées aussi sur la figure 10 20, ne sont pas présentes dans le générateur 5 pendant le traitement pour attribuer un numéro de zone au point courant. Elles n'interviennent que pendant les intervalles de temps entre les analyses de deux lignes consécutives, pour le traitement de filtrage des petites zones et de réutilisation de leurs numéros de zone. Le générateur 5 possède une borne d'entrée 12 recevant le mot binaire R(PC) et qui est reliée à une entrée du registre 78, à une entrée du circuit logique 62 et à une entrée des étages tampons 70. Il possède aussi une borne d'entrée 18 reliéf à une entrée multiple de l'ensemble des registres 54 pour lui fournir la valeur E(Z') des composantes du vecteur 20 d'état de la zone de numéro Z' ou bien la valeur E(Zt) des composantes du t vecteur d'état de la zone de numéro Zt, selon que l'on considère le fonctionnement pendant l'analyse d'une ligne ou selon que l'on considère le fonctionnement pendant l'intervalle entre les analyses de deux lignes. Il possède aussi une borne d'entrée 16 reliée à une entrée de l'ensemble 54 et 25 recevant le numéro de zone Z' du point au- dessus du point courant pendant l'analyse d'une ligne, ou recevant le numéro Zt de chaque zone testée, pendant l'intervalle de temps entre les analyses de deux lignes. L'ensemble de registres 54 stocke la valeur du numéro de Z' et la valeur E(Z') des composantes du vecteur d'état de la zone Z', sauf la valeur R(Z') codant 30 l'orientation du gradient, pendant l'analyse d'une ligne. L'ensemble de registres 54 stocke la valeur du numéro Zt et la valeur E(Zt) des composantes du vecteur d'état de la zone Zt, sauf la valeur R(Zt) codant l'orientation du gradient, pendant l'intervalle entre les analyses de deux lignes. Une entrée multiple de l'ensemble de registres 54 est reliée aux *260 1 166 sept sorties du multiplexeur 53 pour recevoir la valeur E(z(PC)) du vecteur d'état de la zone z(PC) à laquelle est attribué le point courant, et est reliée à une sortie du circuit logique 62 fournissant une valeur T(z(PC)) constituant le bit indicateur d'absorption de la zone à laquelle est attribué 5 le point courant. La valeur T(z(PC)) sera stockée ultérieurement dans l'ensemble 54 pour constituer la valeur T(Z) du bit indicateur d'absorption de la zone du point voisin à gauche pour le prochain point constituant le point courant. La valeur de chaque composante sera stockée ultérieurement dans l'ensemble de registres 54 pour constituer la valeur E(Z) des 10 composantes du vecteur d'état de la zone du point à gauche pour le prochain point constituant le point courant, c'est-à-dire lorsque le point courant actuel sera devenu le point voisin à gauche du prochain point courant. Une entrée de l'ensemble 54 est reliée à la sortie du multiplexeur 15 49 pour recevoir la valeur z(PC) du numéro de zone attribué au point courant. Cette valeur sera stockée ultérieurement dans l'ensemble 54 pour constituer la valeur Z du numéro de zone du point à gauche pour le prochain point constituant le point courant. Cependant l'ensemble de registres 54 ne stocke pas la valeur de la composante R(Z), codant 20 l'orientation du gradient dans la zone Z. Le registre 78 a une entrée reliée à la borne d'entrée 12 pour recevoir la valeur R(PC). Il a une capacité d'une valeur et procure un retard correspondant à un point d'image, il fournit donc sur sa sortie la valeur R(Z) codant l'orientation du gradient dans la zone du point à gauche 25 du point courant. Cette sortie est reliée à une entrée du circuit logique 62, à une entrée du registre à décalage 79, et à une entrée de l'ensemble d'étages tampons 70. Le registre 79 a une capacité permettant de retarder les valeurs R(Z) d'un temps correspondant à une ligne d'image, ainsi il fournit sur une sortie une valeur R(Z') qui code l'orientation du gradient 30 dans la zone du point voisin au-dessus du point courant. Cette sortie est reliée à une entrée du circuit logique 62. La valeur R(Z') est une des composantes du vecteur d'état de la zone de numéro Z', stockée dans la mémoire d'états (8), et qui serait donc disponible en la lisant dans cette mémoire d'états. Cependant l'utilisation 2601 166 d'un registre à décalage 79 permet de l'obtenir plus rapidement qu'une lecture dans la mémoire d'états 8. Le circuit logique 62 possède six sorties fournissant six mots binaires respectivement à des entrées de commande des multiplexeurs 49, 5 51, 52, 53; à une borne d'entrée 75 et à une borne crd'entrée 71 du générateur 50 d'adresses disponibles. Ces mots binaires sont déterminés en fonction des valeurs appliquées aux entrées du circuit logique 62 et qui permettent de distinguer les différents cas énumérés dans la description de la mise en oeuvre du procédé d'extraction des contours. L'ensemble de registres 54, le registre 78 et le registre 79 possèdent des entrées de commande recevant le signal d'horloge HP1 au rythme de l'analyse des points. Le multiplexeur 49 possède une sortie notée a et quatre entrées notées I à 4 sur la figure 20 et qui seront désignées par la, 2a, 3a, 4a, 15 dans la description qui suit. Le multiplexeur 51 possède une sortie notée bet quatre entrées notées I à 4 sur la figure et qui seront désignées par lb, 2b, 3b, 4b, dans la description qui suit. Le multiplexeur 52 possède sept sorties notées c, d, e, f, g, h, k, chacune de ces sorties pouvant être en communication avec 20 trois entrées notées, 1, 2, 3, sur la figure et désignées par lc, 2c, 3c, etc... dans la description suivante. Lé multiplexeur 53 possède sept sorties notées m, n, p, q, r, s, t, chacune de ces sorties pouvant être mises en communication avec deux entrées notées respectivement I et 2, et désignées par lm, 2m, etc... dans la description suivante. L'ensemble des 25 registres 54 possède 17 sorties numérotées de 1 à 17. Ces sorties fournissent des valeurs de composantes du vecteur d'état de la zone Z et du vecteur d'état de la zone Z', ou du vecteur d'état de la zone Zt, selon que le fonctionnement est considéré pendant l'analyse d'une ligne d'image ou bien pendant l'intervalle de temps séparant les analyses de deux lignes 30 d'image. Pour plus de clarté les valeurs mentionnées sur les sorties de l'ensemble de registres 54 sont uniquement celles présentes pendant l'analyse d'une ligne. Pendant l'intervalle entre les analyses de deux lignes, les valeurs se rapportant à la zone Z' sont à remplacer par les valeurs se - rapportant à la zone Zt et celles se rapportant à la zone Z n'existent pas. 26 0 1 1 6 6 La sortie I de l'ensemble 54 est reliée aux entrées 4a et 3b du multiplexeur 49 et du multiplexeur 51, et à une entrée du circuit logique 62, pour leur fournir la valeur Z. L'entrée 2 est reliée à une borne d'entrée 72 du générateur 50, aux entrées 3a et 4b du multiplexeur 49 et du multiplexeur 51, et à une entrée du circuit logique 62, pour leur fournir la valeur Z'. La sortie 3 est reliée à l'entrée lc du multiplexeur 52 et à une première entrée de l'additionneur 55 pour leur fournir la valeur N(Z). La sortie 4 est reliée à une borne d'entrée 74 du générateur 50, à l'entrée 2c du multiplexeur 52, et à une seconde entrée de l'additionneur 55, pour leur 10 fournir la valeur N(Z'). La sortie 5 est reliée à la borne d'entrée 73 du générateur 50, à l'entrée ld du multiplexeur 52, et à une première entrée du dispositif 56, pour leur fournir la valeur YMAX(Z). La sortie 6 est reliée à l'entrée 2d du multiplexeur 52 et à une seconde entrée du dispositif 56, pour leur fournir 15 la valeur YMAX(Z'). La sortie 7 est reliée à l'entrée le du multiplexeur 52 et à une première entrée du dispositif 57, pour leur fournir la valeur XMAX(Z). La sortie 8 est reliée à l'entrée 2e du multiplexeur 52 et à une première entrée du dispositif 57, pour leur fournir la valeur XMAX(Z'). La sortie 9 est reliée à l'entrée If du multiplexeur 52 et à une 20 première entrée du dispositif 58 pour leur fournir la valeur YMIN(Z). La sortie 10 est reliée à l'entrée 2f du multiplexeur 52 et à une seconde entrée du dispositif 58, pour leur fournir la valeur YMIN(Z'). La sortie 11 est reliée à l'entrée lg du multiplexeur 52 et à une première entrée du dispositif 59, pour leur fournir la valeur XMIN(Z). La sortie 12 est reliée à 25 l'entrée 2g du multiplexeur 52 et à une seconde entrée du dispositif 59 pour leur fournir la valeur XMIN(Z'). La sortie 13 est reliée à l'entrée lh du multiplexeur 52 et à une première entrée de l'additionneur 60, pour leur fournir la valeur GX(Z). La sortie 14 est reliée à l'entrée 2h du multiplexeur 52 et à une seconde entrée de l'additionneur 60 pour leur 30 fournir la valeur GX(Z'). La sortie 15 est reliée à l'entrée Ik du multiplexeur 52 et à une première entrée de l'additionneur 61, pour leur fournir la valeur GY(Z). La sortie 16 est reliée à l'entrée 2k du multiplexeur 52 et à une seconde entrée de l'additionneur 61 pour leur fournir la valeur GY(Z'). La sortie 17 est reliée à une entrée du circuit 35 logique 62 pour lui fournir la valeur T(Z). 2 6 0 1 1 6 6 Les additionneurs 55, 60, 61 ont des sorties reliées respectivement aux entrées 3c, 3h, 3k, du multiplexeur 52. Les entrées 2a et 2b du multiplexeur 51 sont reliées ensemble à une borne de sortie 76 du générateur d'adresses disponibles 50, pour recevoir une valeur Zd qui est 5 un numéro de zone disponible. Les sorties a et b des multiplexeurs 49 et 51 sont couplées respectivement aux bornes de sortie 15 et 14 du générateur 5, par l'intermédiaire de deux étages tampons de l'ensemble 70, pour fournir respectivement la valeur z(PC) et la valeur AD. La sortie b du multiplexeur 51 est reliée d'autre part à une entrée de l'ensemble de 10 registres 54 correspondant au registre ayant pour sortie la sortie 1 et destinée à stocker la valeur Z. La sortie a du- multiplexeur 49 est reliée d'autre part à une borne d'entrée 77 du générateur 50. Les sorties c, d, e, f, g, h, k, du multiplexeur 52 sont reliées respectivement à des premières entrées de l'additionneur 63, du dispositif 15 64, du dispositif 65, du dispositif 66, du dispositif 67, de l'additionneur 68 et de l'additionneur 69. Les entrées 2m, 2n, 2p, 2q, 2r, 2s, 2t, du multiplexeur 53 sont reliées respectivement à des sorties de l'additionneur 63, du dispositif 64, du dispositif 65, du dispositif 67, de l'additionneur 68 et de l'additionneur 69. L'entrée lm du multiplexeur 53 et une seconde 20 entrée de l'additionneur 63 reçoivent une valeur 1 permanente. L'entrée In, l'entrée lq, et l'entrée It, du multiplexeur 53, et des secondes entrées des dispositifs 64, 66, et 69, sont reliées, par une liaison non représentée, à une sortie des moyens de commande 4 fournissant la valeur Y(PC). Les entrées lp, Ir, Is, du multiplexeur 53, et des secondes entrées des 25 dispositifs 65 et 67 et de l'additionneur 68, sont reliées, par une liaison non représentée, à une sortie des moyens de commande 4 pour recevoir la valeur X(PC). Les sorties m, n p, r, s, t, du multiplexeur 53 sont couplées à la borne de sortie 17 du générateur 5 par l'intermédiaire de sept étages 30 tampons respectivement, appartenant à l'ensemble 50, et sont reliées à la seconde entrée multiple de l'ensemble de registres 54. La borne d'entrée 12 est couplée, elle aussi, à la borne de sortie 17 par un étage tampon de l'ensemble 70. L'ensemble des valeurs fournies par le registre 78 et les sorties du multiplexeur 53 constituent la valeur E(z(PC)) des composantes 5 du vecteur d'état de la zone du point courant. L'ensemble 70 des étages tampons est commandé par un signal de commande C1 fourni par les moyens de commande 4. En l'absence de ce signal les sorties des étages tampons présentent une haute impédance. Pendant la durée de l'analyse d'une ligne, pour chaque point de 10 cette ligne, le fonctionnement du générateur 5 d'adresses et d'états est le suivant. Les sorties de l'ensemble de registres 54 fournissent les numéros de zones Z et Z' du point voisin à gauche et du point voisin au- dessus du point courant, et les valeurs des composantes des vecteurs d'état des zones Z et Z' auxquelles appartiennent ces deux points voisins à l'excep15 tion des composantes R(z) et R(z'). D'autre part, les registres 78 et 79 fournissent les valeurs R(Z) et R(Z') codant l'orientation du gradient de luminance en ces deux points voisins du point courant. Le circuit logique 62 reçoit les valeurs Z, Z', T(Z), R(PC), R(Z), R(Z') et en déduit les signaux de commande à appliquer au générateur d'adresses disponibles 50 et aux 20 multiplexeurs 49, 51, 52, 53, conformément aux règles logiques mentionnées précédemment dans la description de la mise en oeuvre du procédé, en distinguant principalement quatre cas. La réalisation d'un circuit logique 62 appliquant ces règles est à la portée de l'homme de l'art. Les signaux de commande fournis par ce circuit logique 62 réalisent 25 à l'intérieur des multiplexeurs 49, 51, 52, 53 les liaisons représentées dans le tableau de la figure 21, en fonction des diverses valeurs d'entrée. Par exemple, un chiffre 3 placé dans la colonne "multiplexeur 52" signifie que le multiplexeur 52 réalise les liaisons 3-c, 3-d, 3-e,..., 3- k. Les blancs indiquent une valeur indifférente. Les valeurs fournies par la borne de sortie 17 du générateur 5 sont les valeurs données par les formules (1) à (5) mentionnées dans la description de la mise en oeuvre du procédé. Les valeurs dites actualisées et notées avec l'indice "a" dans ces formules sont les valeurs four-- ses par la borne de sortie 17. Les valeurs dites précédentes et notées avec l'indice "p" dans ces formules sont les valeurs fournies par les sorties I à 17 de 5 l'ensemble des registres 54. Sur la figure 20, les indices "p" sont omis pour simplifier les notations. Par exemple: la valeur MAXa(Z') = maximum(YMAXp(Z), Y(PC), YMAXp(Z')) est calculée par les dispositifs 56 et 64 de détermination d'une valeur maximale parmi deux valeurs, opérant en cascade. Le dispositif 56 transmet la valeur la plus 10 grande parmi YMAXp(Z) et YMAXp(Z'). Cette valeur maximale est transmise ensuite par le multiplexeur 52 au dispositif 64. Le dispositif 64 transmet la valeur la plus grande parmi celle déterminée par le dispositif 56 et la valeur Y(PC). Pendant l'analyse de chaque ligne, le rôle du générateur d'adresses 1 5 disponibles 50 est de fournir la valeur Zd d'une adresse qui est disponible dans la mémoire d'états 8 au moment o une zone nouvelle est créée, c'est-à-dire quand le générateur 50 reçoit un signal logique K fourni par le circuit 62 à la borne d'entrée 71 du générateur 50. Il a aussi pour fonction de détecter les zones qui sont terminées et qui ont un nombre de points 20 inférieur à une valeur de seuil, afin de réutiliser la valeur d'adresses qui constitue ce numéro de zone. Il doit aussi, dès que possible, réutiliser le numéro cd'une zone qui disparaît par fusion dans une autre. Le circuit logique 62 fournit un signal logique A à sa borne d'entrée 75 pour indiquer qu'il y a absorption d'une zone. Le générateur 50 peut réutiliser la zone 25 dont le numéro est constitué par la valeur AD qui est appliquée à sa borne d'entrée 77, après un délai correspondant à 3 lignes. La figure 22 représente le schéma synoptique d'un exemple de réalisation du générateur d'adresses disponibles 50. Cet exemple de réalisation comporte: un multiplexeur 97, à deux entrées et une sortie; 30 quatre comparateurs, 98, 99, 100, 108; un soustracteur 101; une porte logique ET à quatre entrée, 102; une porte logique ET à deux entrées, 103; une porte logique OU à deux entrées, 104; une mémoire pile 105; une porte logique ET, 106; un ensemble de portes logiques 109; un registre à décalage 110; et un dispositif d'initialisation 107. L'ensemble de portes logiques 109 a une entrée reliée à la borne d'entrée 77 pour recevoir un mot binaire constituant la valeur d'adresse AD qui est le numéro d'une zone absorbée, ou le numéro d'une zone nouvelle, ou une valeur nulle. L'ensemble 109 possède une entrée de commande reliée à la borne d'entrée 75 pour recevoir le signal A indiquant qu'une zone est absorbée, c'est-à-dire que la valeur AD est un numéro de zone absorbée et qu'il pourra donc être réutilisé. L'ensemble de portes 109 10 est alors validé, il transmet la valeur AD à une sortie qui est reliée à une entrée du registre à décalage 110. S'il n'est pas validé il fournit une valeur nulle. Le registre à décalage 110 est commandé par le signal d'horloge HP2, au rythme d'analyse des points. Il retarde les numéros des zones 1 5 absorbées d'une durée correspondant à trois lignes d'image pour que ces numéros ne soient pas réutilisés tant qu'ils peuvent être utiles pour déterminer les numéros de zone actuels des points au-dessus de la ligne du point courant, en vue de la détermination de la zone à laquelle le point courant est attribué, et surtout pour déterminer les numéros de zone 20 actuels des points situés sur la deuxième ligne au-dessus de la ligne du point courant, en vue du filtrage des petites zones et de la réutilisation de leurs numéros. La sortie du registre 110 est reliée à une première entrée du multiplexeur 97 et à une première entrée du comparateur 108. Une 25 seconde entrée du comparateur 108 reçoit une valeur 0 permanente. Une sortie du comparateur 108 est reliée à une première entrée de la porte ET 103, pour que celle-ci soit validée lorsque le numéro de zone retardé et restitué par le registre 110 est différent de 0. Une seconde entrée de la porte ET 103 reçoit un signal d'horloge 30 HP3 au rythme de l'analyse des points. Une sortie de la porte 103 est reliée à une première entrée de la porte OU 104. Une sortie de la porte OU 104 est reliée à une entrée de commande d'écriture de la mémoire pile 105. Une sortie du multiplexeur 97 est reliée à une entrée de données de la mémoire pile 105. Il possède une seconde entrée reliée à la borne 35 d'entrée 72, et une entrée de commande recevant le signal de commande C2 pendant la durée d'analyse de chaque ligne d'image. Il transmet alors les numéros de zones absorbées fournis par le registre 110. Puis ceux-ci sont inscrits dans la mémoire pile 105, sous l'action du signal dsnorloge HP3, à condition qu'ils ne soient pas nuls. Le multiplexeur 97 possède une seconde entrée reliée à la borne d'entrée 72 pour recevoir et transmettre une suite de valeurs Zt, constituant les numéros des zones testées, pendant les intervalles de temps entre les analyses de deux lignes sucessives. La valeur N(Zt) du nombre de points de la zone testée et la valeur YMAX(Zt) de l'ordonnée 10 maximale des points de la zone testée sont appliquées respectivement aux bornes d'entrée 74 et 73 par les sorties 4 et 5 de l'ensemble de registres 54. Ces valeurs ont été lues dans la mémoire d'états 8 à l'adresse Zt. Ce sont donc des valeurs actualisées qui tiennent compte des points attribués à des zones au cours du traitement des points de la ligne d'ordonnée 15 Y(PC)- 1. La sortie de la porte ET 102 est reliée à une seconde entrée de la porte OU 104. La porte logique ET 102 a quatre entrées reliées respectivement à une sortie du comparateur 98, à une sortie du comparateur 99, à une sortie du comparateur 100 et à une sortie, non représentée, des 20 moyens de commande 4 pour recevoir le signal d'horloge HZ qui n'existe que pendant les intervalles de temps entre les analyses de lignes. Les comparateurs 98, 99, et 100 permettent de vérifier que la zone Zt remplit trois conditions: - Le comparateur 98 a une première entrée reliée à la borne 25 d'entrée 72 et une seconde entrée recevant la valeur 0, pour détecter si la zone testée est la zone de numéro 0, à laquelle est attribué tous les points qui ne sont pas des points de contour. Dans ce cas, la porte 102 ne doit pas être validée car le numéro 0 n'est pas un numéro disponible pour les zones de points de contour. - Le comparateur 99 a pour fonction de comparer la valeur N(Zt), du nombre de points dans la zone testée, à une valeur de seuil Nmin, par exemple égale à 5 points, et qui est réglable par l'utilisateur du dispositif en fonction de l'effet de filtrage qu'il souhaite obtenir. Lorsque la zone de numéro Zt a un nombre de points supérieur à la valeur de seuil, le 35 comparateur 99 fournit un signal logique de valeur 0, la porte 102 n'est donc pas validée. Ainsi les numéros des zones ayant une taille suffisamment grande ne sont pas réutilisés. Au contraire les numéros des zones azyant une taille inférieure ou égale à 5 points peuvent être réutilisés. - Le comparateur 100 a pour rôle de comparer la valeur 5 YMAX(Zt) de l'ordonnée maximale des points de la zone de numéro Zt à la valeur Y(PC) I qui est fournie par la sortie du soustracteur 101. Lorsque l'ordonnée maximale de la zone de numéro Ztest strictement supérieure à l'ordonnée Y(PC) - I de la ligne au-dessus de la ligne du point courant, il est possible de conclure que la zone de numéro Zt est terminée, c'est-à10 dire qu'aucun autre point ne lui sera attribué. Dans le cas contraire, le comparateur 100 fournit un signal logique de valeur 0 et la porte 102 n'est pas validée. Le soustracteur 101 reçoit sur une première entrée la valeur Y(PC) fournie par les moyens de commande 4 et reçoit sur une seconde entrée une valeur 1 qui est la valeur à soustraire à Y(PC). La porte ET 102 est donc validée lorsque simultanément la zone de numéro Zt est terminée et a un nombre de points supérieur à 0 et inférieur ou égal à Nmin. La porte 102 transmet alors le signal d'horloge HZ à la porte OU 104 qui l'applique à l'entrée de commande d'écriture de la mémoire pile 105. Dans cet exemple, le signal d'horloge HZ appliqué à la porte 102 est un signal ayant le même rythme que celui de l'analyse des points, mais ce n'est pas indispensable. Ce signal chorloge peut avoir un rythme différent du rythme d'analyse des points d'image puisque le traitement de filtrage des petites zones et de récupération de leurs numéros de zone est 25 réalisé pendant l'intervalle de temps entre les analyses de deux lignes successives, c'est-à-dire pendant l'intervalle de temps o il n'y a pas de point à attribuer à une zone. La porte 106 possède une première entrée- reliée à la borne d'entrée 71 recevant le signal logique K, une seconde entrée recevant un 30 signal d'horloge HP4 dont le rythme est égal à celui de l'analyse des points, et une sortie reliée à une entrée de commande de lecture de la mémoire pile 105. Une sortie de données de la mémoire pile 105 est reliée à la borne de sortie 76. Lorsque le générateur 5 fournit le signal logique K, de valeur 1, indiquant qu'il y a création d'une nouvelle zone, la porte 35 ET 106 est validée. Elle transmet le signal d'horloge HP4 à l'entrée de commande de lecture de la mémoire pile 105 et cette dernière fournit la valeur Zd d'une adresse disponible dans la mémoire d'états et pouvant donc constituer le numéro d'une zone nouvelle. - La mémoire pile 105 possède une entrée multiple commandant son 5 initialisation et reliée à une sortie du dispositif d'initialisation 107. Le dispositif 107 possède une entrée de commande recevant un signal d'horloge à la fréquence de trame HT. Le dispositif 107 a pour fonction de charger la mémoire pile 105 au moyen d'une suite de valeurs constituée par l'ensemble des adresses de la mémoire d'états 8. La réalisation de ce 10 dispositif 107 est à la portée de l'homme de l'art, il peut comporter un dispositif de comptage pour générer une suite d'adresses et un générateur de signaux d'horloge pour actionner ce dispositif de comptage et pour commander l'écriture de la suite d'adresses dans la mémoire pile 105. Les numéros de zone à réutiliser sont inscrits au sommet de la pile des 15 adresses disponibles et le dernier inscrit est lu en premier. Par conséquent, les numéros à réutiliser sont réutilisés en priorité par rapport aux numéros qui n'ont encore jamais été utilisés. La figure 23 représente un schéma synoptique plus détaillé de la mémoire d'attente 6, de la mémoire d'adresses 7, et de la mémoire 20 d'états 8. La mémoire d'attente 6 a deux fonctions: une première fonction consiste à stocker les valeurs z(PC) des numéros de zone attribués provisoirement aux points d'une image et les restituer avec un retard correspondant à une ligne moins trois points pour constituer les valeurs 25 z(PD) du numéro de zone attribué provisoirement au point voisin du point courant sur la ligne au-dessus, cette valeur z(PD) étant utilisée ensuite comme adresse de lecture dans la mémoire d'adresses 7 pour y lire la valeur actuelle Z' du numéro de zone du point voisin au-dessus du point courant. Le retard procuré par la mémoire d'attente 6 ne correspond pas à 30 une ligne entière car il faut tenir compte du fait que la lecture d'une valeur actualisée dans la mémoire d'adresses 6 a une durée correspondant à trois points d'image. Une seconde fonction de la mémoire d'attente 6 consiste à fournir des numéros Zt de zone à tester, au générateur 50 d'adresses disponibles, 35 pour permettre de déterminer les zones à filtrer et de réutiliser leurs numéros. Pour cela la mémoire d'attente 6 stocke pendant un certain temps les valeurs z(PC) des numéros de zone attribués provisoirement aux points d'image lorsqu'ils constituent le point courant, puis les restitue au générateur 50 d'adresses disponibles sous la forme des valeurs notées zt 5 La durée de stockage est telle qu'elle permet de détecter si une zone est terminée ou non. D'autre part, la partie de la mémoire d'attente 6 dédiée à ce stockage des numéros de zone à tester réalise une suppression de certaines valeurs zt redondantes. Elle ne stocke pas une valeur de numéro de zone z(PC) pour chaque point d'image car la durée entre les analyses de 10 deux lignes successives est beaucoup plus courte que la durée d'analyse d'une ligne et ne permet donc pas de réaliser une lecture dans la mémoire d'états pour chaque point de chaque ligne. Les contours ayant une certaine épaisseur et les autres portions d'image ayant aussi une certaine épaisseur, il est très fréquent qu'une 15 succession de points sur une même ligne ait le même numéro de zone z(PC). Il est donc possible d'allèger le travail consistant à tester ces zones en ne réalisant le test qu'une seule fois lorsqu'une suite de points a été attribuée à une même zone. Pour cela, la mémoire d'attente 6 comporte des moyens permettant de détecter, dans la suite des valeurs z(PC), des 20 valeurs successives identiques afin de ne stocker qu'une seule valeur. La détermination des zones à filtrer et la réutilisation de leurs numéros de zone, pour les points d'une ligne est réalisée après un certain délai tel que le traitement d'attribution des numéros de zone est terminé pour tous les points de la seconde ligne qui suit la ligne considérée pour ce test. 25 Autrement dit ce test est réalisé pour les zones des points de la ligne d'ordonnée Y(PC) - 2 lorsque l'attribution des numéros de zone est terminée pour les points de la ligne cd'ordonnée Y(PC). La mémoire d'attente 6 comporte trois registres à décalage 84, , 89; un registre 90; un comparateur 91; un multiplexeur 88, à quatre 30 entrées et deux sorties; deux démultiplexeurs à une entrée et deux sorties, 86 et 87; un multiplexeur 81, à deux entrées et une sortie; une porte logique ET 80; et deux étages tampons, 82 et 83. Le registre à décalage 89 possède une entrée série constituant l'entrée de données de la mémoire d'attente 6 et qui est reliée à la borne 35 de sortie 15 du générateur 5 d'adresses et d'états pour recevoir la valeur z(PC) du numéro de zone attribué au point courant. Il est commandé par un signal d'horloge HP5, au rythme de l'analyse des points d'image. Il possède une sortie reliée à une entrée du registre 90. Le registre 90 a une capacité d'une valeur et il est commandé par le signal d'horloge HP5. Le 5 comparateur 91 possède une première entrée reliée à une sortie du registre 90 et une seconde entrée reliée à la sortie du registre à décalage 89. Une sortie du comparateur 91 est reliée à une première entrée de la porte ET 80. Le registre 89 a pour rôle de retarder les valeurs des numéros de zone attribués aux points successifs, cPd'une durée correspon10 dant à une ligne moins trois points. Le registre 90 et le comparateur 91 ont pour rôle de comparer deux valeurs successives de cette suite de numéros de zone afin de valider la porte ET 80 seulement lorsque la valeur de numéro de zone fourni par la sortie du registre 89 est différente de celle fournie par la sortie du 15 registre 90; autrement dit, la porte ET 80 est bloquée lorsque des points consécutifs ont une même valeur de numéro de zone. Une seconde entrée de la porte ET reçoit un signal d'horloge HP6 au.rythme crd'analyse des points, destiné à commander l'écriture des numéros de zone dans les registres à décalage 84 ou 85 alternativement. La porte ET 80 bloque donc 20 la transmission de ce signal d'horloge lorsque des points consécutifs ont un même numéro de zone pour que cette valeur de numéro ne soit stockée qu'une fois. Ceci permet d'éviter de fournir des suites de valeurs t identiques au générateur 50 d'adresses disponibles qui ne dispose que d'un temps très limité pour tester ces zones. Le multiplexeur 88 est équivalent à un commutateur de deux circuits à deux positions. Une première sortie est reliée à une entrée de données série du registre à décalage 84 et une seconde sortie est reliée à une entrée de données série du registre à décalage 85. La première sortie peut être mise en communication soit avec une première entrée reliée à 30 la sortie du registre 89, soit à une seconde entrée recevant une valeur 0 permanente. La seconde sortie peut être mise en communication soit avec une troisième entrée recevant une valeur 0 permanente, soit avec une quatrième entrée reliée à la sortie du registre 89. Le multiplexeur 88 est commandé par un signal de commande C3 fourni par les moyens de 35 commande 4.- Ce signal de commande C3 a une valeur binaire qui change alternativement à chaque ligne d'image, de telle sorte que l'un des deux registres, 84 ou 85, est utilisé en écriture, pour écrire les valeurs fournies par la sortie du registre 89, pendant que l'autre registre est utilisé en 5 lecture. Pendant que l'un des registres 84, 85 est utilisé en lecture, son entrée de données reçoit une valeur 0 pour inscrire des valeurs 0 à une extrémité de ce registre pendant que les valeurs contenues dans ce registre sont extraites à l'autre extrémité. Les registres 84 et 85 possèdent chacun une sortie de données série reliée respectivement à une 10 première et une seconde entrée du multiplexeur 81. Le multiplexeur 81 possède une sortie qui peut être mise en communication soit avec la première entrée, soit avec la seconde entrée, sous l'action du signal de commande C3. Ainsi le registre 84 ou 85 qui est en cours de lecture transmet son contenu par le multiplexeur 81 jusqu'à l'entrée de l'étage 15 tampon 82. Les registres 84 et 85 possèdent chacun une entrée d'horloge d'écriture et une entrée d'horloge de lecture. Leurs entrées d'horloge d'écriture sont reliées respectivement à une première et à une seconde sortie du démultiplexeur 86 qui reçoit sur une entrée le signal d'horloge 20 HP6 fourni par la sortie de la porte 80 lorsqu'elle est validée. Le démultiplexeur 86 possède une entrée de commande recevant le signal de commande C3 afin de transmettre un signal d'horloge d'écriture alternativement au registre à décalage 84 et au registre à décalage 85. Les entrées d'horloge HP7 de lecture des registres 84 et 85 sont reliées 25 respectivement à une première et une seconde sortie du démultiplexeur 87 qui reçoit sur une entrée le signal d'horloge HP7. Une entrée de commande du démultiplexeur 87 reçoit le signal de commande C3. Il transmet donc un signal d'horloge de lecture alternativement au registre 84 et au registre 85, au rythme de l'analyse des lignes. Quand l'un de ces 30 registres est vide, il restitue des valeurs nulles. Le rythme du signal d'horloge HP7 est, par exemple, égal au rythme d'analyse des points, mais ce n'est pas obligatoire puisque la détermination des zones à filtrer est indépendante de l'analyse des points. Les registres 84 et 85 ont chacun une entrée de remise à zéro, recevant le signal d'horloge HT pour réinitialiser 35 leur contenu à zéro, au début de chaque trame d'image. Une entrée de l'étage tampon 83 est reliée à la sortie du registre à décalage 89. L'étage tampon 82 et l'étage tampon 83 ont chacun une sortie reliée à l'entrée de données de la mémoire d'adresses 6. Ce étages tampons sont commandés respectivement par des signaux de commande 5 C4 et C5 fournis par les moyens de commande 4. En présence cPd'un signal de commande C4, l'étage tampon 82 transmet une valeur zt à l'entrée d'adresse de lecture de la mémoire d'attente 6 pour y lire une valeur Zt. En l'absence du signal C4, la sortie de l'étage tampon 82 a une haute impédance. En présence cPd'un signal de commande C5, l'étage tampon 83 10 transmet à l'entrée d'adresse de lecture de la mémoire d'attente 6 la valeur z(PD) du numéro de zone du point au-dessus du point courant, pour y lire la valeur Z'. En l'absence du signal C5, la sortie de l'étage tampon 83 a une haute impédance. Le signal C4 est fourni pendant la durée d'analyse de chaque ligne alors que le signal C5 est fourni pendant 15 l'intervalle de temps entre les analyses de deux lignes consécutives. La mémoire d'adresses 7 comporte: trois mémoires vives identiques, 92, 93, 94, à accès aléatoire; et un étage tampon 95. Les mémoires 92, 93, 94 ont des entrées de données reliées en parallèle, qui constituent l'entrée de données de la mémoire d'adresses 7 et qui sont reliées à la 20 borne de sortie 15 du générateur 5 d'adresses et d'états pour recevoir une suite de valeurs z(PC). Ces mémoires 92, 93, 94 ont des entrées d'adresses d'écriture reliées en parallèle, qui constituent l'entrée d'adresse d'écriture de la mémoire cPd'adresses 7 et qui sont reliées à la borne de sortie 14 du générateur 5 d'adresses et d'états pour recevoir l'adresse AD. Les mémoi25 res 92, 93, 94 ont des entrées de commande de lecture reliées par des liaisons non représentées à des sorties des moyens de commande 4 pour recevoir respectivement des signaux d'horloge de commande C7, C8g C9. Elles ont des entrées de commande d'écriture reliées en parallèle qui constituent l'entrée de commande d'écriture de la mémoire d'adresses 7, 30 et qui sont reliées à une sortie des moyens de commande 4 pour recevoir un signal de commande C0. La mémoire 92 possède une entrée d'adresses de lecture qui constitue l'entrée d'adresses de lecture de la mémoire d'adresses 7 et qui est donc reliée aux deux sorties de la mémoire d'attente 6 et à la borne de 35 sortie 19 du générateur 9 de contours modélisés. La mémoire 92 possède une sortie de données reliée à l'entrée d'adresses de lecture de la mémoire 93. La mémoire 93 possède une sortie de données reliée à une entrée d'adresses de lecture de la mémoire 94. La mémoire 94 possède une sortie de données reliée à une entrée de l'étage tampon 95. L'étage tampon 95 5 possède une entrée de commande recevant le signal de commande C6 fourni par les moyens de commande 4. La sortie de l'étage tampon 95 constitue la sortie de données de la mémoire d'adresses 7 et est reliée à l'entrée d'adresses de lecture de la mémoire cPd'états 8 et à la borne cd'entrée 16 du générateur 5 d'adresses et d'états. La fonction de la mémoire d'adresses 7 est de faire correspondre une première et une seconde valeur de numéro de zone cd'un même point afin de tenir compte de l'absorption cPd'une première zone, désignée par la première valeur, par une deuxième zone désignée par la seconde valeur. Cette fonction est utilisée au cours de trois étapes du procédé crd'extrac15 tion et de modélisation des contours: tout cd'abord pour déterminer la valeur actualisée Z' du numéro de zone du point au-dessus du point courant; puis pour déterminer la valeur actualisée Zt correspondant à la valeur actualisée du numéro de zone cPd'un point situé deux lignes au-dessus de la ligne du point courant, afin de tester cette zone pour déterminer si 20 cette zone doit être filtrée ou non; et enfin la mémoire d'adresses 7 doit faire correspondre une valeur actualisée Zm à une valeur de numéro de zone Zm, afin de réaliser la modélisation de chaque zone qui existe encore lorsque tous les points cd'une trame ont été attribués à une zone. Chaque valeur z(PC) à incrire dans la mémoire d'adresses 7 est 25 inscrite à l'adresse AD simultanément et identiquement dans chacune des mémoires 92, 93, 94 car z(PC) est appliquée simultanément sur les trois entrées de données de ces mémoires et le signal Ci0 est appliqué simultanément aux trois entrées de commande d'écriture. La lecture de chaque donnée Z', Zt, ou Zm sortant de la sortie de données de la 30 mémoire d'adresses 7, est réalisée en trois étapes. Dans une première étape une valeur de numéro de zone: z(PD), ou zt ou zm, est appliquée à l'entrée d'adresses de lecture de la mémoire 92, puis le signal C7 est appliqué à l'entrée de commande de lecture de cette mémoire 92 pour obtenir une première valeur qui est utilisée comme adresse de lecture 35 dans la seconde mémoire 93. Dans une seconde étape, le signal C8 provoque une lecture à cette adresse dans la mémoire 93. La valeur ainsi lue dans la mémoire 93 constitue une adresse de lecture pour lire dans la mémoire 94. Dans une troisième étape, le signal C9 provoque une lecture à cette adresse dans la 5 mémoire 94. La valeur lue ainsi est transmise à la sortie de données de la mémoire cPadresses 7 lorsque l'étage tampon 95 est validé par le signal de commande C6. Quand il n'est pas validé par le signal C6 l'étage tampon a une impédance élevée en sortie. La mémoire d'états 8 est constituée par une mémoire vive à accès 10 aléatoire possédant une entrée d'adresses de lecture reliée à la sortie de données de la mémoire d'adresses 7, une entrée d'adresses d'écriture reliée à la borne de sortie 15 du générateur 5 d'adresses et d'états, une entrée de données reliée à la borne de sortie 17 du générateur 5 d'adresses et d'états, une sortie de données reliée à la borne d'entrée 18 du générateur 5 15 et à la borne d'entrée 20 du générateur 9 de contours modélisés, une entrée de commande de lecture et une entrée de commande d'écriture recevant respectivement un signal de commande Cll et un signal de commande C12 fournis par les moyens de commande 4. La mémoire d'états 8 est utilisée en écriture pour stocker à 20 l'adresse z(PC) la valeur actualisée E(z(PC)) des composantes du vecteur d'état de la zone à laquelle est attribué le point courant. Elle est utilisée en lecture, pour lire à l'adresse Z' la valeur E(Z') des composantes du vecteur d'état de la zone du point au-dessus du point courant, au moment de déterminer à quelles zones le point courant va être attribué; pour lire 25 à l'adresse Zt la valeur E(Zt) du vecteur d'état d'une zone au moment de tester cette zone; pour lire à l'adresse Zm la valeur E(Zm) des composantes du vecteur d'état d'une zone, au moment de modéliser cette zone. La figure 24 représente le schéma synoptique d'un exemple de réalisation du générateur 9 de contours modélisés et de la mémoire de 30 contours 10. Le générateur 9, dans cet exemple, comporte: un microprocesseur 112; une interface d'entrée-sortie 111; une mémoire de calcul 113; une mémoire de programme 114. Le microprocesseur 112 est relié à des entrées d'adresses et à des entrées-sorties de données de l'interface 111, de la mémoire 113, et de la mémoire 114. D'autre part, il est relié à 35 une entrée d'adresses et à une entrée-sortie de données de la mémoire de contours 10. Cette entrée d'adresses et cette entrée-sortie de données de la mémoire 10 sont reliées aussi à une borne d'entrée d'adresses 21, à une.orne de sortie de données 22 permettant à un dispositif extérieur de lire les données contenues dans la mémoire de contours 10 afin d'exploiter les 5 contours extraits et modélisés par Je dispositif. Le générateur 9 possède une borne d'entrée 20 et une borne de sortie 19 reliées respectivement à une entrée et à une sortie de l'interface 111. La figure 25 représente un organigramme du programme mis en oeuvre par le microprocesseur 112 et stocké dans la mémoire de proO10 gramme 114 pour créer les segments modélisant les contours dans une trame d'une image, pendant l'intervalle de temps séparant deux trames successives. Au début de cet intervalle, le microprocesseur 112 commande tout d'abord une remise à zéro de tout le contenu de la mémoire de contours 10, l'inscription des contours se faisant ultérieurement par 15 I'inscription de 1 uniquement aux adresses correspondant à des points de contour. Un registre du microprocesseur 112 est utilisé pour stocker la valeur z dcune adresse de la mémoire d'adresses 7. La valeur zm est mm initialisée à zéro, puis est incrémentée d'une unité, puis est fournie à la borne de sortie 19, pour lire dans la mémoire d'adresses 7 à l'adresse zm. m' Si la zone de numéro zm a été absorbée, la mémoire d'adresses 7 fournit une valeur Zm désignant la zone qui l'a absorbée. Ainsi, le générateur 9 ne génère un segment que pour les zones qui existent encore à la fin du traitement de regroupement des points à fort gradient dans des zones. La valeur Zm est égale à zm si la zone de numéro zm n'a pas été absorbée au 25 cours de ce traitement. Cette lecture est commandée par les signaux successifs C7, C8 C9. Puis les moyens de commande 4 fournissent successivement les signaux C6 et Cl, pour lire la valeur E(Zm) des composantes du vecteur d'état de la zone Zm, dans la mémoire d'états 8 à l'adresse Zm. Parmi 30 ces composantes il y a: XG(Zm) qui est la somme des abscisses des points de la zone de numéro Zm; YG(Zm) qui est la somme des ordonnées des points de cette zone; et N(Zm) qui est le nombre de points de cette zone. Le microprocesseur 112 calcule alors des valeurs X et Yg qui sont les coordonnées du barycentre de la zone, en les arrondissant à leur partie 35 entière, selon les formules: XG(Z m) YG(Zm) m, _m x = y g: D g N(Zm) g N(Zm) Parmi les composantes il y a aussi XMAX(Zm), YMAX(Zm), XMIN(Zm), YMIN(Zm), qui sont les coprdonnées extrêmes des points de la m M zone de numéro Zm. A partir de ces valeurs, le microprocesseur 112 5 calcule des valeurs X'MAX, Y'MAX, X'MIN, Y'MIN qui seront les bornes des coordonnées des points du segment modélisant la zone, compte-tenu d'un prolongement de chaque extrémité de chaque segment, consistant à déplacer ces bornes de deux points, par exemple, selon les formules suivantes: X'MAX = XMAX(Zm) + 2 Y'MAX = YMAX(Zm) + 2 X'MIN = YMIN(Z) - 2 m Y'MIN = YMIN(Zm) - 2 Deux registres du microprocesseur 112 sont utilisés pour stocker 15 respectivement deux valeurs X et Y qui constitueront les adresses, dans la mémoire de contours 10, du point o sera inscrite une valeur I indiquant la présence d'un point du segment. Ces deux registres sont initialisés avec les valeurs X et Y. g g Parmi les composantes du vecteur d'état de la zone de numéro Zm 20 il y a une valeur R codant l'orientation du gradient de luminance et codant l'orientation du contour dans cette zone. Le microprocesseur 112 compare cette valeur R successivement aux valeurs: 1, 2, 3, 4, 5. S'il détecte que la valeur R est égale à 1, il met en oeuvre un sous-programme de création d'un segment orienté à 90 par rapport aux lignes d'analyse de l'image. S'il 25 détecte que la valeur R est égale à 2, il met en oeuvre un sous-programme de création d'un segment orienté à 120 . S'il détecte que la valeur R est égale à 3, il met en oeuvre un sous-programme de création d'un segment orienté à 150 , etc... S'il détecte que la valeur R est différente de 1, 2, 3, 4, 5, il met en oeuvre un programme de création d'un segment à 60 , la 30 seule valeur restant possible pour R étant 6. La valeur R = 0 n'est pas rencontrée car le microprocesseur 112 ne fournit pas d'adresse Zm = 0 à la mémoire d'adresses 7. Quand la mise en oeuvre du sous-programme de création d'un segment est terminée, le microprocesseur 112 compare la valeur contenue dans le registre correspondant à Zm, avec une valeur fixée Zmax qui correspond à la dernière adresse de la mémoire d'adresses 7 et qui est 5 égale par exemple à 511. Si la valeur Zm n'a pas encore atteint cette valeur maximale, le programme est réitéré à partir de l'incrémentation de Zm, sinon le programme est réitéré à partir de la remise à zéro du contenu de toute la mémoire de contours 10. Les figures 26 et 27 représentent à titre d'exemple, un organi10 gramme de création d'un segment orienté à 0 et un organigramme de création dun segment orienté à 30 . Les autres sous-programmes de création d'un segment pour d'autres valeurs d'orientation sont très semblables et sont à la portée de l'homme de l'Art. Chaque segment est créé à partir de son barycentre, en créant une première partie située d'un côté 15 du barycentre, puis en créant une seconde partie située de l'autre côté du barycentre. Les points constituent les motifs réguliers représentés sur les figures 10 et 11. Sur la figure 26, la création d'un segment orienté à 0 , est réalisée en inscrivant tout d'abord une valeur 1 à l'adresse (X,Y) de la 20 mémoire de contours 10, car X et Y actuellement sont égales respectivement à Xg et Yg. Puis le contenu du registre correspondant à X est incrémenté d'une unité, puis est comparé à la valeur X'MAX. Si X n'est pas égale à X'MAX, la première partie du segment n'est pas terminée, le microprocesseur 112 inscrit une valeur I à l'adresse (X,Y) de la mémoire 25 de contours 10. Si X est égale à X'MAX, la première partie du segment est terminée, le microprocesseur 112 réinitialise le contenu du registre correspondant à X en y inscrivant la valeur X de l'abscisse du barycentre g de la zone. Puis il décrémente le contenu de ce registre d'une unité et inscrit une valeur 1 dans la mémoire de contours 10 à l'adresse (X,Y). 30 Ensuite le microprocesseur 112 compare la valeur X avec la valeur X'MIN. Si la valeur X n'est pas égale à X'MIN la seconde partie du segment n'est pas terminée, le microprocesseur 112 continue à décrémenter la valeur X et à inscrire une valeur I dans la mémoire de contours 10 à l'adresse (X, Y), jusqu'à ce qu'il détecte que X est égale à X'MIN. La création du 35 segment est alors terminée, le microprocesseur 112 continue la mise en oeuvre du programme principal dont l'organigramme est représenté sur la figure 25. Sur la figure 27, l'organigramme de la création d'un segment orienté à 30 débute par l'inscription d'une valeur I dans la mémoire de 5 contours 10 à l'adresse (X,Y) qui, à cet instant, est égale à (Xg,Yg). Puis il incrémente la valeur X d'une unité et la compare avec X'MAX. Si la valeur X est inférieure ou égale à X'MAX la première partie du segment n'est pas terminée, le microprocesseur 112 inscrit une valeur 1 à l'adresse (X,Y) de la mémoire de contours 10. Puis il incrémente la valeur Y d'une unité. Il compare la valeur Y à Y'MAX.- Si la valeur Y est inférieure ou égale à Y'MAX la première partie du segment n'est pas terminée car il n'a pas atteint son ordonnée extrême. Le microprocesseur 112 inscrit une valeur I dans la mémoire de contours 10 à l'adresse (X,Y). Puis il incrémente encore la valeur X d'une 15 unité et la compare ensuite à X'MAX. Si la valeur X reste inférieure ou égale à X'MAX, la première partie du segment n'est pas encore terminée, le microprocesseur 112 recommence les mêmes opérations depuis le début du sous-programme de création crd'un segment orienté à 30 , notamment ilcommence par inscrire une valeur I dans la mémoire de contours 10 à 20 l'adresse (X,Y). Si la valeur X est strictement supérieure à X'MAX, cela veut dire que le segment a déjà atteint son abscisse maximale, le microprocesseur 112 n'inscrit rien dans la mémoire de contours 10 et initialise de nouveau le contenu des registres correspondant aux valeurs X et Y avec les 25 coordonnées Xg et Yg du barycentre de la zone. Pour créer la seconde partie du segment, le microprocesseur 112 décrémente la valeur X d'une unité puis la compare à X'MIN pour détecter si la seconde partie du segment est arrivée à l'abscisse minimale des points de ce segment. Si la valeur X est strictement inférieure à X'MIN, 30 cela signifie que la seconde partie du segment a déjà atteint son abscisse minimale, la création du segment est alors terminée et le microprocesseur 112 retourne à l'exécution du programme principal tel que représenté sur l'organigramme de la figure 25. Sinon, il inscrit un I dans la mémoire de contours 10 à l'adresse 35 (X,Y) . Ensuite, il décrémente la valeur Y d'une unité puis la compare à Y'MIN qui indique l'ordonnée minimale qui ne doit pas être dépassée par les points du segment. Si Y est strictement inférieure à Y'MIN, cela signifie que le segment est déjà terminé, le microprocesseur 112 retourne à l'exécution du programme principal. Si la valeur Y est supérieure ou 5 égale à Y'MIN, le segment n'est pas terminé, le microprocesseur 112 inscrit un 1 dans la mémoire de contours 10 à l'adresse (X,Y). Ensuite le microprocesseur 112 décrémente la valeur X d'une unité puis la compare à X'MIN. Si la valeur X est strictement inférieure à X'MIN, le microprocesseur 112 inscrit un I dans la mémoire de contours 10 10 à l'adresse (X,Y) puis recommence l'exécution du sous-programme de création dun segment orienté à 30 , à partir de la décrémentation de la valeur X, qui suit la nouvelle initialisation de X à la valeur Xg et de Y à la g valeur Yg. Le procédé selon l'invention, et le dispositif pour sa mise en 15 oeuvre, sont applicables notamment dans le domaine de la reconnaissance des formes car ils permettent de modéliser les contours extraits par des segments ayant une épaisseur minimale et qui conviennent particulièrement bien pour ce type d'application. Ils sont applicables aussi à des valeurs représentatives de la chrominance des points d'une image, au lieu 20 des valeurs représentatives de la luminance, par une adaptation simple qui est à la portée de l'homme de l'Art. 26 0 1 1 6 6 REVENDICATIONS 1. Procédé d'extraction et de modélisation des contours d'une image, chaque point d'image étant représenté par une valeur nurnér:ue, caractérisé en ce qu'il consiste à: - détecter les points, dits point à fort gradient, o le gradient des 5 valeurs représentatives des points d'image -a un module supérieur à une valeur fixée; - déterminer l'orientation Ri du gradient en chacun des points à fort gradient, parmi un nombre déterminé s de valeurs d'orientation possibles: R1,..., Rs; regrouper les points à fort gradient dans des zones constituées de points connexes ayant une même valeur d'orientation, chaque zone étant désignée par une valeur numérique, appelée numéro de zone, et étant caractérisée par un vecteur, dit vecteur d'état, ayant des composantes fonctions des points regroupés dans la zone; - modéliser les contours de l'image en représentant chaque zone par un segment de droite passant par le barycentre des points de cette zone et ayant une direction perpendiculaire à l'orientation du gradient dans cette zone, après que tous les points à fort gradient ont été regroupés dans des zones; - représenter chaque point d'image par une valeur binaire fonction de son appartenance ou non à l'un des segments représentant les contours. 2. Procédé selon la revendication 1, caractérisé en ce que pour détecter les points à fort gradient et déterminer la valeur de l'orientation du gradient en chacun de ces points, il consiste, pour chaque point 25 d'image: - à calculer s produits de convolution: L G1 L x G2 LxG s étant un nombre efitier prédéterminé, L étant une matrice carrée formée par les valeurs représentatives des points entourant le point considéré, G1,... Gs étant s matrices correspondant respectivement aux s valeurs possibles pour l'orientation et étant des matrices carrées telles que, pour chaque valeur j comprise entre 0 et s inclus, le produit de convolution L x Gj est le plus grand parmi ces s produits lorsque l'orientation du gradient au point considéré a pour valeur Rj; - à déterminer, parmi ces s produits de convolution, un produit L x GM qui a la valeur absolue la plus grande, et en déduire une valeur de l'orientation du gradient au point considéré; - à comparer la valeur absolue de L x GM par rapport à une valeur 10 de seuil fixée, le point considéré étant considéré comme point à fort gradient si cette valeur absolue est supérieure à la valeur de seuil. 3. Procédé selon la revendication 1, caractérisé en ce que pour modéliser les contours de l'image en représentant chaque zone par un segment de droite, il consiste à constituer ce segment par un ensemble de 15 points connexes comportant un nombre minimal de points, tel que chaque point du segment est voisin d'au moins un autre point du même segment, situé sur une même ligne ou sur une colonne des points d'image, et tel que les coordonnées maximales et minimales des points de ce segment sont déterminées respectivement par les coordonnées maximales et par les 20 coordonnées minimales des points de la zone. 4. Procédé selon la revendication 1, caractérisé en ce qu'il consiste en outre à prolonger systématiquement les deux extrémités de tous les segments, avec un nombre prédéterminé de points d'image, audelà des coordonnées minimales et des coordonnées maximales des points 25 de la zone modélisée par ce segment. 5. Procédé selon la revendication 1, caractérisé en ce que pour regrouper dans une même zone, des points à fort gradient qui sont connexes et o le gradient a une même valeur d'orientation, il consiste, successivement pour chaque point, PC, dit point courant, dans chaque 30 ligne d'image et successivement pour chaque ligne: - à déterminer une valeur de numéro de zone, z(PC), désignant, à l'instant considéré, une zone à laquelle le point courant est attribué, cette valeur étant déterminée en fonction de la valeur Z, à l'instant considéré, du numéro de zone du point voisin précédant le point considéré sur la 35 même ligne, en fonction de la valeur Z', à l'instant considéré, du numéro de zone du point voisin homologue du point courant sur la ligne précédente, et en fonction de la valeur de l'orientation du gradient au point considéré et aux deux points voisins; - à déterminer ensuite des valeurs dites actualisées, des numéros 5 de zone de ces deux points voisins, en fonction des valeurs Z et Z' des numéros de zone des deux points voisins, à l'instant considéré, et en fonction de la valeur de l'orientation du gradient au point courant et aux deux points voisins; - à déterminer ensuite une valeur actualisée des composantes du 10 vecteur d'état de la zone à laquelle le point courant est attribué, en fonction des valeurs Z et Z' des numéros de zone des deux points voisins, à l'instant considéré, et en fonction de la valeur de l'orienrtation du gradient au point considéré et aux deux points voisins, et en fonction des valeurs, à l'instant considéré, des composantes des vecteurs d'état des zones Z et Z' 15 des deux points voisins; chaque zone d'une image étant finalement caractérisée par les composantes de son vecteur d'état quand tous les points à fort gradient ont été attribués à une zone. 6. Procédé selon la revendication 5, caractérisé en ce que les 20 composantes du vecteur d'état de chaque zone comportent notamment: - la valeur de l'orientation du gradient commune à chacun des points de la zone; - le nombre de points attribués à la zone; - les valeurs maximales et les valeurs minimales des coordonnées 25 des points attribués à la zone; - la somme des coordonnées horizontales des points attribués à la zone; - la somme des coordonnées verticales des points attribués à la zone. 7. Procédé selon la revendication 6, caractérisé en ce que les composantes du vecteur d'état de chaque zone comportent en outre un bit dit indicateur d'absorption dont la valeur est modifiée lorsque la zone a absorbé au moins une autre zone; et en ce que la valeur du bit indicateur d'absorption des zones des deux points voisins du point courant est prise en 35 compte pour déterminer: - la valeur de numéro de zone z(PC) désignant une zone à laquelle le point courant est attribué; - les valeurs actualisées des numéros de zone des deux points voisins; - et les valeurs actualisées des composantes du vecteur d'état de la zone à laquelle le point courant est attribué. 8. Procédé selon la revendication 7, caractérisé en ce que si les deux points voisins du point courant sont deux points à fort gradient et appartenant respectivement à deux zones ayant des valeurs de numéro, Z 10 et Z', différentes mais ayant la même orientation de gradient que celle au point courant, le point courant est attribué à: - la zone Z' du point voisin, homologue du point courant sur la ligne précédente, si la zone Z du point voisin précédant le point courant sur la même ligne n'a jamais absorbé une autre zone; la zone de numéro Z 15 étant alors absorbée par la zone de numéro Z' et la valeur actualisée de son numéro étant constituée par Z'; - la zone Z du point voisin précédant le point courant sur la même ligne, dans le cas contraire, la zone de numéro Z' étant absorbée par la zone de numéro Z et la valeur actualisée de son numéro étant constituée 20 par Z. 9. Dispositif d'extraction et de modélisation des contours d'une image pour la mise en oeuvre du procédé selon la revendication I, caractérisé en ce qu'il comporte: - des moyens (2) recevant une suite de valeurs numériques 25 représentatives des points de l'image, pour détecter parmi ces points ceux o le gradient des valeurs représentatives a un module supérieur à une valeur fixée et qui sont appelés points à fort gradient, et pour déterminer en chacun de ces points l'orientation du gradient; - des moyens (5 à 8) pour déterminer les valeurs des composantes 30 de vecteurs, dits vecteurs d'état, caractérisant des zones de l'image, constituées de points à fort gradient qui sont connexes et chaque zone regroupant des points o l'orientation du gradient a une même valeur; des moyens (8, 9) pour déterminer, à partir de la valeur des composantes du vecteur d'état de chaque zone, les coordonnées de points 2601 166 de l'image constituant un segment de droite modélisant la zone considérée; - une mémoire (10), dite mémoire de contours, pour stocke:', pour chaque point d'une image, une valeur binaire traduisant son appartenance ou non à l'un des segments modélisant les zones de points à fort gradient. 10. Dispositif selon la revendication 9, caractérisé en ce que les moyens (2) pour détecter les points à fort gradient et pour déterminer en chacun de ces points l'orientation du gradient comportent: - des moyens (30, 31) pour calculer pour chaque point d'image, 10 s produits de convolution: L BE G L x G1 LG s s étant un nombre entier prédéterminé, L étant une matrice 15 carrée formée par les valeurs représentatives de points entourant le point considéré, G1,..., Gs étant s matrices correspondant respectivement à s valeurs prédéterminées pour l'orientation; - des moyens (32, 34) pour comparer entre eux les s produits de convolution calculés pour le point considéré et pour déterminer, parmi ces 20 s produits de convolution, un produit L X GM qui a la valeur absolue la plus grande, et fournir un mot binaire indiquant la valeur d'orientation correspondant à ce plus grand produit de convolution; - des moyens (33, 35) pour comparer la valeur absolue du produit L x GM à une valeur de seuil et fournir un signal binaire indiquant si le 25 point considéré est un point à fort gradient ou non. 1l. Dispositif selon la revendication 9, caractérisé en ce que les moyens (5 à 8) pour déterminer les valeurs des composantes des vecteurs d'état caractérisant des zones de l'image, comportent: - des moyens (5) dits générateurs d'adresses et d'états, pour 30 déterminer une valeur de numéro z(PC) désignant, à l'instant considéré, une zone à laquelle le point courant est attribué et constituant la valeur actualisée du numéro de zone des points d'une zone absorbée si une zone est absorbée, une valeur E(z(PC)) des composantes du vecteur d'état de la zone de numéro z(PC); et pour déterminer une valeur AD qui est le 35 numéro d'une zone absorbée par la zone de numéro z(PC), si une zone est absorbée; en fonction d'informations binaires indiquant, pour chaque point d'image, s'il est ou non un point à fort gradient et indiquant, pour chaque point à fort gradient, la valeur de l'orientation du gradient en ce point; en fonction d'une valeur Z' constituant, à l'instant considéré, le numéro de 5 zone d'un point voisin homologue du point courant sur la ligne précédant celle du point courant; en fonction de la valeur E(Z') des composantes du vecteur d'état caractérisant la zone de numéro Z'; en fonction d'une valeur Z constituant, à l'instant considéré, le numéro de zone d'un point voisin du point courant et le précédant sur la même ligne; et en fonction 10 de la valeur E(Z) des composantes du vecteur d'état caractérisant la zone de numéro Z; - une mémoire (6), dite mémoire d'attente, pour stocker chaque valeur z(PC) et la restituer avec un retard correspondant à la durée de traitement des points d'une ligne d'image, chaque valeur restituée consti15 tuant une valeur z(PD); - une mémoire (7) dite mémoire d'adresses, pour stocker chaque valeur z(PC) fournie par le générateur (5) d'adresses et cd'états à une adresse constituée par la valeur AD fournie par le générateur (5) d'adresses et d'états, la valeur z(PC) constituant la valeur actualisée du 20 numéro de zone des points qui, jusqu'à l'instant considéré, avaient AD pour numéro de zone; et pour fournir au générateur (5) d'adresses et d'états la valeur Z', celle-ci étant lue à une adresse constituée par la valeur z(PD) fournie par la mémoire d'attente (6). 12. Dispositif selon la revendication 11, caractérisé en ce que 25 pour déterminer la valeur E(z(PC)) des composantes du vecteur d'état de la zone de numéro z(PC), le générateur (5) d'adresses et d'états comporte - des moyens de calcul (52, 53, 55, 63) pour déterminer le nombre de points de la zone de numéro z(PC), en fonction des nombres de points des zones de numéros Z et Z'; - des moyens de calcul (56 à 59, 52, 53, 64 à 67) pour déterminer les coordonnées extrêmes des points de la zone de numéro z(PC), en fonction des coordonnées extrêmes des points des zones Z et Zi; - des moyens de calcul (60, 61, 52, 53, 68, 69) pour déterminer la somme des abscisses et la somme des ordonnées des points de la zone de 2601 166 numéro z(PC), en fonction des sommes des abscisses et des sommes des ordonnées des points des zones de numéros Z et Z'; - des moyens (54) pour stocker, pendant une durée correspondant au traitement du point courant, la valeur E(z(PC)) des composantes du 5 vecteur crd'état de la zone à laquelle est attribué le point courant, la valeur de ces composantes constituant ultérieurement la valeur E(Z) des composantes du vecteur d'état de la zone Z du point voisin du prochain point courant sur la même ligne. 13. Dispositif selon la revendication 12, caractérisé en ce que le 10 générateur (5) d'adresses et cPd'états comporte en outre des moyens dits générateurs (50) d'adresses disponibles, pour fournir des valeurs cd'adresses disponibles dans la mémoire cPd'états (8), ce générateur (50) étant initialisé avec une suite cPd'adresses prédéterminées et comportant: - des moyens (97 à 104) pour détecter les zones dont le nombre de 15 points n'augmentera plus et est inférieur à une valeur de seuil fixé, et pour stocker les numéros de ces zones en tant que numéros disponibles pour être attribués à d'autres zones; - des moyens (97, 108 à 110) pour retarder les numéros des zones absorbées, cPd'une durée correspondant à l'analyse de trois lignes d'image, et 20 pour stocker ensuite ces numéros en tant que numéros disponibles pour être attribués à cd'autres zones. 14. Dispositif selon la revendication 11, caractérisé en ce que les moyens (8, 9) pour déterminer, à partir de la valeur des composantes du vecteur d'état de chaque zone, les coordonnées de points de l'image 25 constituant un segment de droite modélisant la zone considérée, comportent: - des moyens (9), dits générateurs de contours modélisés, pour fournir une suite de valeurs d'adresses zm à la mémoire d'adresses (7), cette suite correspondant à l'ensemble des valeurs cdadresses de la 30 mémoire d'adresses (7); pour lire des numéros de zone Zm dans la mémoire d'adresses (7) aux adresses zm; pour lire des valeurs E(Zm) des composantes des vecteurs d'état des zones Zm dans la mémoire d'états (8) aux adresses Zm; pour calculer, à partir de chaque valeur E(Zm) lue dans la mémoire cPd'états (8): - les coordonnées entières (Xg, Yg) du barycentre des points de cette zone; - les coordonnées des points d'image constituant un segment de droite passant par les coordonnées (Xg, Yg) et délimité par les valeurs 5 extrêmes des coordonnées des points de cette zone, augmentées d'un nombre fixe d'unités afin de prolonger systématiquement les extrémités de chaque segment; et pour stocker, dans la mémoire de contours (10), préalablement remise à zéro, une valeur différente de zéro, aux adresses correspondant aux 10 coordonnées entières du barycentre et des points du segment.