FR 2779256 A1 19991203 FR 9806854 A 19980529 PROCEDE DE SIMPLIFICATION D'IMAGE ET APPLICATION DU DIT PROCEDE A LA SEGMENTATION ET AU CODAGE D'IMAGES La présente invention concerne les procédés de construction d'une représentation simplifiée permettant de représenter une image d'origine, qu'on qualifiera d'image de référence f,cons- tituée par une matrice de pixels à chacun desquels est affectée au moins une valeur radiométrique f(x) (luminance ou chrominan- ce) par une image simplifiée g dont chaque pixel a une valeur radiométrique g(x). Il existe déjà de nombreux procédés de simplification d'image. Ils constituent souvent une étape préliminaire avant une étape supplémentaire. Cette étape supplémentaire peut être constituée par une segmentation de l'image, consistant à isoler, en en définissant le contour, certains objets qui apparaissent dans l'image. Une autre application consiste à comprimer l'image en vue de sa transmission ou de son stockage, par exemple par un algorithme tel que JPEG pour les images fixes ou MPEG pour les séquences d'image. En appliquant l'algorithme de codage à l'image simplifiée g plutôt qu'à l'image f, on peut représenter l'image par moins de données que par codage direct de f. Parmi les procédés de simplification, on peut citer, dans le domaine linéaire, les convolutions (en particulier par des noyaux gaussiens) et, dans le domaine non linéaire, les filtres morphologiques, en particulier les filtres alternés séquen- tiels. Ces opérateurs connus ont des inconvénients. Dans certains cas, ils déplacent les contours ou les rendent flous et/ou ils ne traitent pas de manière symétrique les détails blancs et les détails noirs. Les zones o l'image simplifiée g diffère notablement de f ne constituent pas des plateaux, c'est-à-dire des zones connexes o l'image g présente un caractère de régularité. En conséquence, l'effet de la simplication est limité. La présente invention vise à fournir un procédé de simpli- fication d'image répondant mieux que ceux antérieurement connus aux exigences de la pratique, notamment en fournissant une image simplifiée présentant un aspect régulier dans les zones o l'image simplifiée g est notablement différente de f. Elle vise également à fournir un procédé permettant de fournir une image donnant à un algorithme de segmentation ou de codage une efficacité plus grande que lorsque cet algorithme est appliqué à l'image d'origine f. Dans ce but, l'invention propose notamment un procédé de construction d'une représentation simplifiée g d'une image d'origine, qu'on qualifiera d'image de référence f. par utili- sation d'une image marqueur prédéterminée g, les images étant représentées chacune par une matrice de pixels à chacun desquels est affectée au moins une valeur radiométrique, suivant lequel on déduit la valeur g(x) de chaque pixel de l'image simplifiée de l'image f: - dans les régions o g est inférieure à une fonction If déduite de f et inférieure ou égale à f, par augmentation de g du montant minimum qui permet de constituer un plateau dans toute particule connexe o g If, qui est localement inférieure à la valeur du plateau. - et dans les régions o g est supérieure à une fonction Cf, déduite de f et supérieure ou égale à f, par diminution de g du montant minimum qui permet de constituer un plateau dans toute particule connexe o g>(f, sauf dans les zones o la diminution de g est limitée par la valeur correspondante de f, qui est localement supérieure à la valeur du plateau, n et étant des fonctions prédéterminées de f. Les fonctions 9 et C peuvent être duales ou non. Elles peuvent être constituées par une fonction arithmétique et/ou morphologique. La figure 6 est destinée à donner une indication tangible de résultats obtenus par l'invention dans le cas d'un algorithme de nivellement particulièrement simple, le résultat final étant ainsi représenté. Sur cette figure, l'image d'origine est représentée par une courbe continue f (par opposition à la représentation quanti- fiée et discrète des figures 1 et 3). L'image g est une représentation filtrée de f. L'image simplifiée ou nivellement g est obtenue par un algorithme donnant naissance à des plateaux de niveau constant. Sur toute particule connexe de f - o g f, g est obtenu en diminuant g jusqu'à ce qu'il atteigne le niveau le plus bas de g dans la particule ou atteigne f. Plusieurs possibilités de choix d'une image marqueur exis- tent. Cette image marqueur peut être élaborée manuellement et être alors dessinée sous forme d'une courbe ou d'une surface qui gomme les irrégularités de la courbe ou de la surface re- présentative d'une image h qui peut être déduite de l'image de référence f. Plus souvent, l'image marqueur g sera déduite de l'image de référence f par un procédé connu de filtrage, tel que l'un de ceux mentionnés plus haut. Par exemple, l'image marqueur g peut être construite à partir d'une image h, égale ou non à l'image f. en appliquant à h un filtrage, un lissage ou une représenta- tion sous forme d'image mosaïque; h peut être une image de la scène représentée dans f, mais pris sous un angle différent; h peut être une image précédant l'image f dans le cas d'une séquence d'images (séquence vidéo ou film). Le procédé suivant l'invention permet d'obtenir une repré- sentation simplifiée qu'on peut qualifier de "nivellement", 9 ayant un aspect très régulier. Dans le cas d'une séquence d'images successives présentant un degré de corrélation élevé, par exemple dans le cas de la vidéo ou du cinéma, on peut utiliser un masque de segmentation produit à partir de l'image d'ordre n comme image marqueur g pour produire un nivellement de l'image n+l. Quel que soit le mode de réalisation adopté, l'image g présente des zones connexes d'aspect très régulier ou "plateau" dans toutes les zones o l'image g est notablement différente de f. Les contours des objets présents dans l'image g sont localisés avec la même précision que dans l'image f. ne subissent pas de déplacements et ne sont pas rendus flous, le nivellement traite symétriquement les détails blancs sur fond noir et les détails noirs sur fond blanc, contrairement à ce qui se passe pour les algorithmes classiques. En conséquence, on produit sans dégradation des nivellements pour les images couleur en appliquant le procédé aux différents composants d'une image couleur. L'application d'un algorithme de segmentation à g plutôt- qu'à f permet d'obtenir facilement les contours des objets présents dans g, ce qui n'aurait pas été le cas dans f. L'image résultant du codage de compression puis du décodage de l'image g est plus agréable à regarder que l'image provenant du codage et du décodage de l'image f, sur laquelle les blocs de codage par transformée bidimensionnelle deviennent visibles aux taux de compression élevés. Dans les deux cas, l'image restituée après codage présente des pertes, mais l'effet visuel de la dégradation est plus faible en cas de mise en oeuvre de l'invention, même aux faibles débits. Plus l'image marqueur g choisie est éloignée de l'image f, plus le nivellement est régulier. Cela permet de construire des familles d'images simplifiées allant du plus proche au plus grossier, parmi lesquelles on peut choisir, par exemple en fonction des disponibilités de stockage ou de transport en cas de compression ultérieure. On peut également produire des nivellements en cascade, tout nouveau nivellement d'une repré- sentation simplifiée g étant aussi un nivellement de f. On peut alors choisir dans la famille le nivellement le plus approprié. Dans le cas de la segmentation, ce nivellement optimum sera celui qui contient les objets d'intérêt, mais pas de détails inutiles. Dans le cas du codage, on choisira celui des nivellements à l'entrée du codeur qui produit le débit le plus proche des disponibilités de ce codeur. Dans tous les cas, on peut considérer que le procédé part d'un couple d'une image f de référence et d'une image marqueur g, qu'on veut transformer le moins possible pour en déduire une image simplifiée g, qu'on peut qualifier de nivellement de f. Par la suite, on sera amené à utiliser les termes "nota- blement inférieur" et "notablement supérieur". On dira que g(x) est notablement inférieur à f(x) lorsque g(x) De façon similaire, on dira que g(x) est notablement supé- rieur à f(x) lorsque g(x)>(f(x), ( étant une transformation de voisinage ( qui en chaque point de f produit une valeur (f(x) f (x). Parmi les cas particuliers importants, on peut citer les suivants. La transformation peut être la transformation identique, c'est-à-dire (f=lf=f. Dans ce cas l'expression 'g(x) est notablement inférieure à f(x)" signifie simplement que g(x) est inférieur à f(x) au sens ordinaire. On peut également adopter f=f+X et Tf=f-1, A désignant une valeur constante. Par exemple si 1=5, l'expression "g(x) est notablement inférieur à f(x)" signifie que g(x) Au lieu d'utiliser des fonctions arithmétiques, on peut utiliser des fonctions morphologiques, par exemple f=f et lf=yf, y désignant une ouverture de la fonction f et * une fermeture de f. Des fonctions arithmétiques et morphologiques peuvent être combinées, par exemple en adoptant (f=f+I et Tf=yf-1. L'obtention d'un nivellement s'effectue généralement par une itération qu'on achève lorsque la représentation présente des plateaux. Cela implique de définir: - un mécanisme pour changer la valeur de g, étroitement as- socié à la caractérisation des plateaux vers lesquels doit tendre g, l'ordre des pixels selon lequel on va transformer g, - un critère d'arrêt permettant de reconnaître que l'image obtenue g(x) est bien un nivellement de f. Plusieurs approches sont possibles. Mais on peut définir un algorithme permettant, de proche en proche, de transformer une image g quelconque en un nivellement g de f, construit à l'aide de deux transformations de voisinage a et À, vérifiant, pour tout pixel x et toute fonction g, ag(x)"g(x)et Pg(x) g(x). De telles transformations seront définies plus loin. Le critère d'arrêt, c'est-à-dire la condition qu'on estime suffisante pour que l'image obtenue g(x) soit un nivellement de f peut être: - en tout pixel o l'image g(x) est notablement inférieure à l'image f. c'est-à-dire lorsque g(x) ,{f(x), l'image g vérifie g(x)= sup (g(x),(f(x))=g(x)Vcf(x) Le mécanisme pour changer la valeur de g peut être le suivant: si g est une image ne vérifiant pas le critère précédent en un pixel x, on définit une nouvelle valeur gl (x) dont le rôle sera donné plus loin, par un critère qui peut être 1. Si g(x) sup (g(x), f(x))=pg(x)VYf(x), on définit une nouvelle valeur gl(x) égale à sup (pg(x), f(x))=pg(x)VYf(x). Cette nouvelle valeur est plus petite que l'ancienne valeur g(x). 3. Si aucune des conditions précédentes n'est vérifiée, on affecte à gl(x) l'ancienne valeur g(x). a et P sont deux transformations de voisinage, qui peuvent être de différents types, comme on le verra plus loin. Il existe un cas particulier: si Cf=Tf=f,l'algorithme précédent est équivalent au suivant: si g(x) (f(x)VPg(x)) A ag(x)), remplacer g(x) par (f(x)VPg(x)) A ag(x). Dans ce cas (f(x)VPg(x))A ag(x)=(f(x)A "g(x))V g(x)). On peut caractériser les plateaux de la façon suivante: dans toute particule connexe de pixels o g(x) teau est caractérisé par le fait que, en tout pixel y de ce plateau, on a g(y)=ag(y). Et dans toute particule connexe de pixels o g(x)>{f(x), un plateau est caractérisé par le fait que, en tout pixel y de ce plateau, on a g(y)=Pg(y). Plusieurs stratégies sont possibles pour affecter gl(x). Deux d'entre elles sont les suivantes: 1. On examine tous les pixels de l'image et on calcule leur nouvelle valeur. On obtient ainsi une nouvelle image gl. - Si gl(x)=g(x), l'image obtenue est un nivellement de f(x) et on peut arrêter le traitement; - si gl(x) * g(x), on remplace l'image g par l'image gl. Ce faisant on a effectué la première passe d'un traitement parallèle. Le résultat ne dépend pas de l'ordre de traite- ment des pixels si on attend, pour remplacer l'image g par l'image gl, que tous les pixels aient été traités (transforma- tion parallèle). 2. Dès que la nouvelle valeur gl(x) est connue pour un pixel x, on remplace l'ancienne valeur g(x) par cette nouvelle valeur. Cette nouvelle valeur sert au calcul des nouvelles valeurs des points adjacents. Ce procédé, o l'image g est modifiée après le calcul de tout nouveau pixel, peut être appelé récursif ou séquentiel. Le résultat dépend alors de l'ordre de traitement des pixels. Plusieurs stratégies permettent d'atteindre plus ou moins rapidement la convergence vers le nivellement. 1. On peut effectuer des transformations parallèles succes- sives jusqu'à ce qu'une nouvelle passe d'un traitement paral- lèle ne modifie plus l'image: on a alors atteint la conver- gence. 2. On peut effectuer des transformations récursives succes- sives et le résultat dépendra alors de l'ordre de balayage. On obtiendra une vitesse de convergence plus rapide en alternant les balayages de l'image: un balayage de haut en bas et de gauche à droite, suivi d'un balayage de bas en haut et de droite à gauche. Le traitement des zones sombres et des zones claires sera symétrique si on applique ces transformations récursives, non pas à l'image initiale mais à l'image obtenue après une passe de traitement parallèle: dans ce cas, pour les nivellements les plus courants, l'ordre de balayage n'influera plus sur le résultat. 3. On peut appliquer les transformations récursives, non pas selon l'ordre de balayage de la matrice des pixels, mais en définissant un ordre de traitement selon la valeur des pixels. On traitera les pixels pour lesquels g(x) est nota- blement inférieur à f(x) dans l'ordre des valeurs décroissan- tes de g(x) et les pixels pour lesquels l'image g(x) est notablement supérieure à l'image f(x) dans l'ordre des valeurs croissantes de g(x). On peut également utiliser pour gérer l'ordre de traitement des pixels des files d'attente hiérarchiques. Comme précédemment, si on tient à ce que le traitement des zones sombres et des zones claires soit symétrique, on applique ces transformations récursives, non pas à l'image initiale, mais à l'image obtenue après une passe de traitement parallèle. Les deux transformations de voisinage a et P déjà mention- nées doivent vérifier, pour tout pixel x, ag(x)kg(x) et Pg(x):g(x). On peut en particulier adopter: 1. ag=6g et pg=eg, o È et e représentent respectivement 1 a dilatation (la valeur du point central est remplacée par la valeur maximale dans son voisinage) et l'érosion (la valeur du point central est remplacée par la valeur mini- male dans son voisinage) élémentaires. Dans ce cas, pour If = Cf = f,dans toute particule connexe sur laquelle g f l'image g est plate. De plus, toute zone plate pour l'image f sera encore plate pour l'image g. Par contre si pour deux pixels voisins a et b l'image g présente la transition g(a)>g(b), alors l'image f présente une transition plus forte qui encadre la transition de g: * A A f(a)2g(a)>g(b)f(b) Ceci signifie que les contours de tous les objets présents dans g(x) sont localisés avec la même précision que dans l'image de référence f(x). 2. ag=gV (g-X) et pg=gA (eg+), o A est un seuil de valeur constante. Pour ce nivellement, un plateau de l'image g est une zone dans laquelle il existe entre tout couple de pixels (x,y) un chemin (x=aO,al,a2....,an=y) tel que les pixels ai et ai+, soient voisins sur la trame et que la valeur absolue de la différence des niveaux radiométriques Jg(ai+1)-g(ai) I soit inférieure au seuil A. AA 3. a est une dilatation quelconque vérifiant ag(x)kg(x) et est une érosion quelconque vérifiant Pg(x) g(x). 4. ag=gV8yg et pg=gAeg, o y est une ouverture et 4 une fer- meture. 5. ag=gV(8yg-X) et pg=g (c4g+A), o y est une ouverture et une fermeture et o A est une valeur constante. Le procédé est applicable à une image en couleurs pour la- quelle on affecte plusieurs valeurs radiométriques à chaque pixel. On obtiendra un nivellement d'une image en couleurs en construisant indépendamment un nivellement de chacune de ses composantes. Le procédé est applicable quel que soit le mode de représentation adopté, notamment RGB, Yuv et HLS (couleur, niveau et saturation). L'invention sera mieux comprise à la lecture de la descrip- tion qui suit de modes particuliers d'exécution, donnés à titre d'exemples. La description se réfère aux dessins qui l'accompagnent, dans lesquels: - la figure 1 montre un exemple d'application du procédé de nivellement à une image f limitée à une ligne; - la figure 2 montre les étapes successives du nivellement et de segmentation d'une image bidimensionnelle fixe; - la figure 3 montre schématiquement les étapes de segmentation d'une image appartenant à une séquence; - les figures 4 et 5 montrent des exemples de choix de segmentation avantageusement utilisables après nivellement; - la figure 6 est un schéma montrant un nivellement effectué sur une image à une seule dimension dans le cas d'un algorithme de nivellement particulièrement simple, le résultat final étant ainsi représenté. Les étapes montrées en figure 1 illustrent l'algorithme de construction pas à pas d'un nivellement simple caractérisé par: - Tf=f et f=f - "g=ôg et Pg=eg, o È et c représentent respectivement la dilatation (la valeur du point central est remplacée par la valeur maximale dans son voisinage) et l'érosion (la valeur du point central est remplacée par la valeur minimale dans son voisinage) élémentaires. La ligne A montre une ligne d'une image de référence f, en traits gras, et une image marqueur, en traits fins avec sous-graphe hachuré. A chaque pixel (a, b, c..u) est associée une valeur radiométrique allant de 1 à 8. Par exemple la valeur radiométrique de l'image f au pixel d est égale à 6 et celle de l'image g au même pixel d est égale à 4. L'image mar- queur g va être transformée en g, nivellement de f. Dans une première phase, on construit, à partir de l'image g: - eg, image érodée de g, et - 8g, image dilatée de g. La valeur radiométrique de l'érodé cg (respectivement du dilaté 8g) en chaque pixel x est égale à la valeur minimale (respectivement maximale) des valeurs prises par g au pixel x ou en l'un des pixels voisins de x sur la matrice des pixels. Par exemple au pixel k, les deux voisins de k sont les pixels j et 1; g prend la valeur 6 aux pixels j et k et la valeur 4 au pixel 1. La valeur prise par eg au pixel k sera la plus petite des 3 valeurs, soit 4 (ligne B). Le dilaté àg par contre prendra la plus grande des trois valeurs, soit 6 (ligne C). On effectue une première itération de la transformation de A f en nivellement g de f. En chaque pixel x, on compare les valeurs radiométriques de f et de g. - Si g(x) f(x), on choisit entre les deux valeurs de Cg(x) et f(x) celle qui est la plus gran- de:Eg(x)Vf(x). Par exemple: - g(e) soit 4. - g(i)>f(i): on choisit pour nouvelle valeur de g(i) la plus grande des deux valeurs de eg(i)=4 et f(i)=2, soit 4. - g(g)>f(g): on choisit pour nouvelle valeur de g(g) la plus grande des deux valeurs de eg(g)=2 et f(g)=3, soit 3. On obtient ainsi la représentation donnée par la ligne D. A partir de là, on effectue de nouvelles passes pour arriver à la convergence. En appliquant les passes suivantes au résultat de la première passe parallèle, l'ordre et le choix d'un mode parallèle ou séquentiel n'a plus d'influence sur le résultat final. La ligne E montre le nivellement g de f, obtenu à conver- gence. Le résultat dépend à la fois de f et de g. Il présente des zones plates beaucoup plus importantes que f. Cependant les A transitions de g suivent fidèlement celles de f. APPLICATION A LA SEGMENTATION La segmentation d'une image f consiste à isoler certains objets représentés dans l'image f. en les contourant ou bien en affectant à tous leurs pixels une même valeur d'étiquette. Pour ceci, de nombreux algorithmes de segmentation ont été publiés. Suivant un des aspects de l'invention, on substitue un nivellement à l'image d'origine avant segmentation, quel que soit l'algorithme de segmentation choisi. La double propriété des nivellements (simplifier l'image en générant des plateaux tout en préservant les contours des objets restants) rend cette substitution particulièrement intéressante: il sera plus facile à l'algorithme de segmentation choisi d'extraire les contours des zones d'intérêt dans l'image nivelée que dans l'image initiale. Les figures 2 et 3 illustrent deux situations typiques de segmentation: la segmentation d'objets dans une image fixe, le suivi d'objets dans une séquence. Dans les deux cas, des valeurs de gris différentes sont schématisées par des modes de hachures différents, pour permettre la reproduction des figu- res. Cas d'une image fixe Les figures 2A-2C illustrent le problème de segmentation. On veut trouver le contour de la tortue avec un algorithme de segmentation donné. Une image simplifiée de l'image de départ à l'aide d'un filtre alterné séquentiel donne la figure 2B o les détails ont été gommés, mais les contours de la tortue n'ont pas été préservés. En utilisant cette image simplifiée comme image marqueur pour un nivellement, on obtient l'image de la figure 2C. Cette image résultante comporte beaucoup moins de détails que l'image de départ, mais ses contours sont parfaitement fidèles. Cas d'une séquence Cette situation se rencontre fréquemment lorsqu'on veut segmenter une séquence vidéo, dans laquelle on veut suivre une zone ou un objet d'intérêt. Dans les illustrations suivantes, les lignes A et B de la figure 3 représentent la tortue aux temps t et t+l, en régime permanent: on a segmenté l'image au temps t et obtenu les contours représentés à la ligne C. Pour simplifier la segmentation dans l'image t+l, on construit un nivellement de cette image à partir d'une image marqueur g dérivée du masque de segmentation de l'image au temps t. S'il s'agit de segmenter des objets sombres sur fond clair, par exemple, on peut prendre le masque de segmentation lui- même dans lequel on a mis une valeur sombre représentative des objets à segmenter. C'est ce qui est représenté ici. Pour traiter des objets clairs sur fond sombre, on reprend le même traitement après avoir inversé l'échelle des niveaux de gris. L'image de la ligne C a servi d'image marqueur pour produire un nivellement de l'image au temps t+l, représentée à la ligne B. Le résultat du nivellement se trouve à la ligne D. En présence d'un fond présentant des zones sombres et claires, on peut prendre comme image marqueur g l'image ini- tiale vue à l'intérieur d'une bande de largeur donnée s'éten- dant de part et d'autre des contours du masque de segmentation de l'image t et suffisamment large pour contenir les contours qu'on cherche à détecter dans l'image au temps t+l. Le reste de l'image marqueur prend une valeur constante. Le nivellement appliqué à ce marqueur va présenter les contours intéressants dans l'image t+l avec un grand contraste, et ceux qui en sont plus éloignés vont apparaître peu contrastés. ExemDles de chaîne de segmentation avantaaeuse Après avoir remplacé l'image f qu'on cherche à segmenter par un de ses nivellements g, on peut employer n'importe quel algorithme de segmentation. Mais on peut également tirer parti de la présence de plateaux étendus dans l'image nivelée pour aider la segmentation. Les deux chaînes de segmentation suivantes sont des exemples de telles chaînes. Segmentation par sélection de zones plates et ligne de partage des eaux (figure 4) La ligne A montre le résultat d'un nivellement d'une image (non représentée) à segmenter. La ligne B montre le résultat de la recherche de toutes les zones plates. La ligne C montre la sélection des trois zones plates de surface supérieure à 2 pixels. Les zones plates non sélectionnées font alors partie d'une zone d'indétermination, à l'intérieur de laquelle on calcule une image gradient à partir de l'image initiale (ligne D). En utilisant les trois zones plates sélectionnées comme marqueurs, on construit la ligne de partage des eaux as- sociée sur l'image gradient i; on étend ainsi les trois marqueurs pour obtenir la partition finale, constituant le résultat de la segmentation (ligne E). Segmentation par détection de zones plates et fusion de région (figure 5) Une deuxième manière de segmenter, complémentaire de la précédente, prend également les plateaux d'un nivellement comme point de départ de la segmentation. La ligne A repré- sente l'image de départ. On détecte tous les plateaux dans cette image. Chaque ligne frontière y a une hauteur égale au contraste moyen entre les plateaux situés de part et d'autre de cette frontière. Ainsi le plateau constitué des pixels (a,b,c,d) et le plateau constitué par le pixel (e) sont séparés par une frontière de hauteur 1. Au-dessus de chaque plateau est indiqué un chiffre, exprimant l'importance du plateau. Pour cela on peut choisir par exemple la surface du plateau, ou bien une mesure du contraste le long de ses fron- tières ou bien encore une combinaison de ces deux mesures. C'est ce qui est fait ici, o est affecté à chaque plateau le produit de la surface du plateau par la valeur du plus faible contraste mesuré le long de ses frontières: par exemple le plateau (k,l) a une frontière avec le plateau (j) de hauteur 1 et une frontière avec le plateau (m) de hauteur 2 alors que sa surface est de 2 pixels; on lui affecte une mesure égale à 2, égale au produit de la surface 2 par la mesure de contraste 1. La segmentation se fera par fusions successives entre plateaux adjacents. Le plateau de mesure la plus faible est absorbé à chaque étape par un de ses plateaux voisins; après absorption, on recalcule la mesure du plateaunouvellement formé et on procède à une nouvelle fusion. Les étapes de fusion successives sont illustrées sur les lignes C à H. Par exemple le résultat de la fusion 4 a produit 4 régions (ligne F). Ces régions de plus faible valeur ont une valeur de 4; une de ces régions va être absorbée par l'autre région de valeur 4 pour former une nouvelle région de surface 8 bordée par deux frontières de contraste 2; la nouvelle région a ainsi une valuation de 8x2=16. Ainsi chaque étape de fusion réduit-elle le nombre de régions de 1. Extraction des zones plates à Dartir d'un nivellement Dans les deux modes de segmentation ci-dessus, le point de départ a été une détection de zones homogènes sur une image de nivellements. Pour détecter ces zones homogènes, on peut notamment utili- ser la méthode de détection suivante. On considère que deux pixels p et q appartiennent à la même région homogène d'une A image g s'il existe entre les pixels p et q un chemin continu, constitué de pixels adjacents sur la matrice de pixels, tel que, entre tout couple (a,b) de points voisins sur ce chemin, un critère d'homogénéité soit vérifié. Ce critère d'homogé- néité peut s'exprimer sous forme d'une relation binaire symétrique. Une liste non limitative de telles relations binaires symétriques est la suivante: R.A - g(a)=g(b) - 1g(a)-g(b)I née A A A A - *g(a)=g(a) et *g(b)=g(b) o t est une transformation de voisinage. - g(a) 4g(b) et g(b) 9g(a) o 4 est une fermeture morpholo- gique A h A A - yg(a):g(b) et yg(b) g(a) o y est une ouverture morpholo- gique Deux critères d'homogénéité peuvent être réunis pour pro- duire un nouveau critère au moyen de conjonctions logiques telles que "et", "ou", "ou exclusif". Construction d'une image aradient Dans les deux schémas de segmentation proposés on a cons- truit une image gradient. Pour ce faire, on peut utiliser des techniques connues. Il peut être cependant avantageux d'utili- ser les deux opérateurs a et P qui ont été utilisés pour construire le nivellement ayant produit l'image de départ de la segmentation. On construira l'image gradient par soustrac- tion de l'image P de l'image a: a-. APPLICATION AU CODAGE Pour faciliter la transmission ou le stockage d'images et de séquences d'images, il est souvent indispensable de les comprimer en les soumettant à des algorithmes de compression qui sont des algorithmes avec pertes. L'image décodée n'est pas identique à l'image originale; elle peut même être plus ou moins fortement dégradée selon les taux de compression qui ont été atteints; Le défaut le plus visible s'appelle effet de blocs: on voit apparaître dans l'image des discontinuités le long des blocs de codage. A débit constant, les défauts sont d'autant plus visibles que l'image de départ était plus riche en détails. Plutôt que de voir se dégrader l'image de manière déplaisante et sans contrôle, l'invention propose de remplacer l'image à encoder par une version simplifiée constituée par un nivellement o on a "gommé" un certain nombre de détails de manière volontaire tout en préservant le plus possible la qualité perceptuelle de l'image. Le nivellement réduit le débit nécessaire pour coder l'image mais en même temps préserve les contours des structures restantes et une bonne qualité visuelle des images. En utilisant les techniques de segmentation exposées dans la section précédente, on peut construire des images composi- tes dans lesquelles chaque région de la segmentation est rem- placée par un nivellement différent: les nivellements les plus forts étant appliqués aux zones de faible intérêt, les zones de fort intérêt (telles que les visages) étant rempla- cées par des nivellements très proches de l'image originale, voire par l'image originale elle-même. On a vu comment pro- duire des familles de nivellements allant du plus ténu au plus grossier. On peut se servir de cette propriété pour réguler le débit d'un codeur de séquences d'images. On choisira pour chaque image le nivellement à l'entrée du codeur produisant le nombre de bits le plus proche de l'objectif qu'on s'était fixé. Les codeurs de séquences, notamment MPEG, travaillent en deux modes: le mode intra et le mode inter. Dans le mode in- tra, c'est l'image de départ qui est encodée. Dans le mode in- ter, on essaie de prédire l'image courante à partir de la * connaissance des images précédentes et on ne codera que l'er- reur de prédiction. Dans ce cas, on peut également appliquer des nivellements aux erreurs de prédiction. REVEND I CATIONS 1. Procédé de construction d'une représentation simplifiée A ou nivellement g d'une image d'origine par utilisation d'une image marqueur g, chaque image étant constituée par une matrice de pixels à chacun desquels est affectée au moins une valeur radiométrique (luminance ou chrominance), suivant lequel on déduit la valeur g(x) en chaque pixel: dans les régions o g est inférieure à une fonction If déduite de f. par augmentation de g du montant minimum qui permet de constituer un plateau dans toute particule connexe o g Cf, sauf dans les zones o la diminution de g est limitée par la valeur correspondante de Cf, qui est localement supérieure à la valeur du plateau, les transformations 9 et C vérifiant les conditions If f et Cf2f. 2. Procédé selon la revendication 1, caractérisé en ce que les transformations 9 et C sont choisies dans la liste suivante: - (f=f=f (f=f+1 et nf=f-1, o A désigne une valeur constante - Cf=f et 9f=yf, o y désigne une ouverture de la fonction f et 4 une fermeture de f - f=f+X et lf=yf-1, o y désigne une ouverture de la fonction f et une fermeture, alors que X désigne une valeur constante. 3. Procédé selon la revendication 1, caractérisé en ce qu'on calcule une nouvelle valeur de g à l'aide de deux trans- formations de voisinage: ^ A^ - si g(x) velle valeur gl(x) égale à inf (ag(x),qf(x))=ag(x)Anf(x); - si g(x)> sup (Pg(x),Cf(x))=Pg(x)V f(x), on définit une nou- velle valeur gl(x) égale à sup (pg(x),Cf(x))=Pg(x)Vcf(x); - si aucune des conditions précédentes n'est vérifiée, on affecte à gl(x) l'ancienne valeur g(x), a et P répondant à une des définitions suivantes: - ag=ôg et gg=cg, o 8 et e représentent respectivement la dilatation et l'érosion, - ag=gV(6g-X) et Pg=gA(eg+X), o A est une valeur constante, - "g=gV8yg et Pg=gAe4g, o y est une ouverture et $ une ferme- ture, - "g=g V(ôyg-1) et Pg=gA(e4g+ ), o y est une ouverture et une fermeture et A est une valeur constante. 4. Procédé selon la revendication 3, caractérisé en ce qu'on examine tous les pixels de l'image et on calcule leur nouvelle valeur pour obtenir une nouvelle image gl(x) et - si gl(x) = g(x), on arrête le traitement; - si gl (x) * g(x), on remplace l'image g(x) par l'image gl(x) pour effectuer une passe d'un traitement parallèle. 5. Procédé selon la revendication 3, caractérisé en ce que, dès que la nouvelle valeur gl(x) est connue pour un pixel x, on remplace l'ancienne valeur g(x) par cette nouvelle valeur et on l'utilise pour le calcul des nouvelles valeurs des points adjacents. 6. Procédé selon la revendication 5, caractérisé en ce qu'on calcule la nouvelle valeur gl (x) dans un ordre prédéter- miné sur la matrice des pixels, indépendant de la valeur de la fonction g, éventuellement par des balayages successifs de l'image tels que deux balayages successifs se fassent dans l'ordre inverse l'un de l'autre et ce jusqu'à l'obtention d'une image qu'un balayage supplémentaire laisse inchangée. 7. Procédé selon la revendication 5, dans lequel on effectue le calcul de la nouvelle valeur gl(x) selon un ordre de traitement dépendant de la valeur des pixels en traitant les pixels pour lesquels g Cf dans l'ordre des valeurs croissantes de g(x). 8. Procédé selon la revendication 1, dans lequel l'image marqueur g est construite à partir d'une image h. égale ou non à l'image f, en appliquant à h un filtrage, un lissage ou une représentation sous forme d'image mosaique. 9. Procédé selon la revendication 8, dans lequel: - h est une image de la scène représentée dans f. mais prise sous un angle différent; ou - h est une image précédant l'image f dans une séquence d'images. 10. Procédé de segmentation, destiné au contourage d'objets présents dans l'image f, dans lequel on applique un algorithme de contourage à une représentation simplifiée obtenue confor- mément à l'une quelconque des revendications 1 à 9. 11. Procédé selon la revendication 10, dans lequel le procédé de contourage extrait d'abord les plateaux de g, en caractérisant un plateau par le respect des conditions: - dans toute particule connexe de pixels o g(x) Cf(x), en tout pixel y on a g(y)=pg(y); ou - il existe un chemin continu entre tout couple de pixels, adjacents sur la matrice de pixels, tel que, entre tout couple de pixels voisins sur ce chemin une relation de similitude binaire symétrique soit vérifiée. 12. Procédé selon la revendication 11, selon lequel on sélectionne les plateaux les plus significatifs de g, au sens d'un critère de surface minimum ou de produit de la surface du plateau par un paramètre tel que le gradient moyen sur le contour du plateau ou le gradient le plus bas rencontré sur le contour, les zones restantes étant affectées à une valeur par- ticulière. 13. Procédé selon la revendication 12, selon lequel on fait croître les plateaux sélectionnés, par absorptions successives de pixels voisins sur la matrice de pixels et de valeur radiométrique proche, jusqu'à ce que tout pixel soit affecté à un de ces plateaux, par exemple en calculant la ligne de partage des eaux d'une image gradient. 14. Procédé selon la revendication 10, dans lequel on réduit les plateaux détectés dans l'image g par fusions progressives de plateaux voisins et de valeurs radiométriques semblables, en déterminant pour chaque plateau un critère tel que sa surface, ou le produit de la surface du plateau par un paramètre tel que le gradient moyen sur le contour du plateau ou le gradient le plus bas rencontré sur le contour, et en ordonnant les fusions de manière que, à tout moment, ce soit le plateau de valuation la plus faible qui soit absorbé par un des plateaux voisins. 15. Procédé de transmission ou de stockage d'images f sous forme dégradée, caractérisé en ce qu'on applique un algorithme de compression à des images dans lesquelles tout ou partie a été remplacé par un nivellement obtenu conformément à l'une quelconque des revendications 1 à 8 à partir des images f. 16. Procédé suivant la revendication 15, caractérisé en ce qu'on effectue le nivellement à partir d'une fonction g choi- sie, parmi une famille de fonctions g disponibles, en fonction du débit disponible pour la transmission ou du volume de données admissible pour stocker l'image.