Brevet FR2633417A1 — publié le 19891229

PROCEDE DE SEGMENTATION D'IMAGES ELECTRONIQUES ANI- MEES, SUR CRITERE DE MOUVEMENT DE BLOCS D'IMAGE, UTILISANT UN PROCEDE DE DETECTION DE CONTOURS Le domaine de l'invention est celui de l'analyse et du codage de séquences d'images élec- troniques, et plus particulièrement de l'analyse du mouvement des points de telles images électroniques. Dans un cas spécifique qui sera détaillé ci-après, le procédé suivant l'invention s'applique à l'analyse de séquences d'images en haute défini- tion destinées à être transmises à travers un canal à débit limité. Une application préférentielle de ce type est la transmission de télévision haute défini- tion sur canal MAC. Toutefois, le procédé de l'invention peut aussi bien être utilisé dans tout système analysant une séquence d'images (robotique, suivi de cibles, recherche de paramètres spatiaux et/ou tempo- rels,...) ou une séquence d'ensembles de données (applications médicales, météorologiques,...). Le procédé suivant l'invention est destiné à s'inscrire dans une chaîne de traitement d'images, et à constituer un maillon d'analyse des vitesses de déplacement des points d'image dans le plan d'image, afin notamment de détecter et valider l'existence de contours, ou encore frontières d'objets, en déplace- ment dans l'image. Une application préférentielle d'un tel procédé de détection de contours est notam- ment de permettre le regroupement de points au sein de blocs de points à déplacement homogène, selon une opération dite de "segmentation". Une telle analyse présente de très nom- breux intérêts. 2 2633417 Dans le cas de la transmission de sé- quences d' images HD dans un canal à débit limité, le traitement d'images a pour objet de réduire le volume d'informations transmises, de telle façon que: - à l'émission, on procède à une opération de souséchantillonnage d'une image HD, les données sous-échantillonnées étant accompagnées de "données d'assistance" transmises conjointement dans le canal de données; - à la réception, on effectue une opéra- tion inverse consistant à utiliser les données d'assistance et le signal sous-échantillonné dans une opération d'interpolation et de compensation pour restituer un signal haute définition. Le cas é chéant, le signal sous-échantil- lonné peut être visualisé tel quei sur un poste de télévision conventionnel. Dans ce type d'application, l'étape de segmentation de l'image en blocs de points présen- tant des vitesses de déplacement relativement homo- gènes, selon la présente invention, intervient par exemple préalablement à l'opération de sous-échan- tillonnage à l'émission. La segmentation de l'image s'inscrit ainsi avantageusement entre une opération préalable d'estimation de mouvement des points d'images, et une opération de compression des données d'images. L'opération d'estimation de mouvement a pour objectif de créer une base de données spatio- temporelle, dont les données sont représentatives de l'activité de mouvement des points, dans le plan d'image, et dans le temps. L'opération de segmentation aide à' optimi- ser le sous-échantillonnage ultérieur du signal d'image, en regroupant le plus grand nombre de points possible, au sein de blocs de points à dépla- cement homogène. Chaque bloc est donc susceptible 26-33417 d'être représenté par un vecteur unique de vitesse de déplacement. Les vecteurs de vitesse de déplacement permettent ensuite de réaliser un sous-échantillon- nage de l'image dans l'axe du mouvement, comme dé- crit dans la demande de brevet française no 87 17 601 du 16.12.87, aux noms des mêmes déposants. La figure 1 illustre schématiquement la succession d'étapes du processus de codage/décodage dans lequel s'inscrit le procédé de segmentation suivant l'invention. On notera que la segmentation pilote non seulement le sous-échantillonnage d'images, mais en- core l'élaboration de données d'assistance, ces der- nières permettant la restitution de l'image haute définition, par interpolation et compensation, à partir de l'image sous-échantillonnée. Une application avantageuse d'un tel procédé de détection de contour est par exemple de permettre d'optimiser le regroupement des points d'image au sein de blocs de points à déplacement homogène, se- lon une opération dite "segmentation". On connait déjà un procédé de segmentation d'image électronique, en blocs à déplacement homo- gène, tel que décrit dans la demande de brevet fran- çaise no 8803639, déposée le 21 mars 1988 au nom des mêmes déposants. Selon ce procédé connu l'opération de segmentation est insérée au moins partiellement dans un processus d'estimation du mouvement des points d'image utilisant des calculs spécifiques, et coûteux, de critères de choix des vecteurs vitesse représentant, calculs simultanément utilisés pour la segmentation du champ de vecteurs vitesse. La segmentation proprement dite, dans ce procédé antérieur, a pour principe de base d'allouer un vecteur à un bloc d'image sur critère majori- taire. Or, ce principe souffre d'au moins de deux inconvénients: 4 2 2633417 - tout d'abord, la mise en oeuvre de ce pro- cédé sur un signal HDMAC n'est compatible avec le débit limité du canal de données MAC, que si l'on utilise une structure d'échantillonnage du type "field skip" (saut de trames). Cette structure consiste à éliminer systématiquement une trame sur deux, et à é chantillonner aux mêmes lignes chaque trame conservée mais en quinconce. La fréquence tem- porelle de transmission des informations de mouve- ment est alors de 25 Hz. Or, si l'on modifie cette structure dans le sens d'une augmentation de la fré- quence temporelle de transmission, jusqu'à par exemple une valeur de 50 Hz, on dépasse la capacité du canal de données MAC (1 Mbit/s); - d'autre part, l'allocation sur critère ma- joritaire d'un vecteur représentant d'un bloc d'images est inadaptée pour les blocs d'image conte- nant un "contour". Un contour est essentiellement défini comme une zone de rupture dans l'image, qui correspond par exemple à la frontière de séparation, dans le plan d'image, de deux objets adjacents ou superposés. Or on s'aperçoit que la sélection sur critère majoritaire d'un vecteur représentant pour un tel bloc à contour, se traduit par une mauvaise restitution de l'image, et un bruit psychovisuel désagréable. L'invention a notamment pour objectif de pallier ces inconvénients. Plus précisément, un premier objectif de l'invention a été de mettre en évidence la cause de la mauvaise restitution des contours, par le procédé de segmentation connu. Les inventeurs ont ainsi no- tamment identifié que le problème résulte de ce que le critère de choix majoritaire revient à retenir comme vecteur représentant d'un bloc d'image à contour, la vitesse de déplacement de l'un des deux objets adjacents ou superposés, et non la vitesse de déplacement du contour. En effet, dans le cas o chacun des deux objets en recouvrement est en dépla- 2633417 cement dans l'image, à une vitesse distincte, le contour entre objets appartient et doit être affecté à l'un des objets. Or, les inventeurs se sont aper- çus que la détection de ces contours présente un double avantage: - d'un point de vue psychovisuel, l'allocation du vecteur vitesse de contour à un bloc à contours, est bien préférable au critère d'allocation à vecteur majoritaire; 0 - la détection et le traitement des contours l0 semblent s'accompagner généralement d'une plus grande tolérance psychovisuel ce qui permet alors, au moins dans certains cas, de segmenter l'image en blocs de tailles relativement plus importante et donc de limiter davantage le débit du signal d'image sous- échantillonné. D'autre part, les inventeurs ont également établi que dans le cas d'objets à surface "uni- forme", ou "quasi uniforme", seule l'identification des contours permet de relever une valeur de vitesse de déplacement fiable. En effet, dans la mesure o le critère d'estimation de la vitesse de déplacement des points d'image est constituée par l'écart de lu- minance DFD (DFD = "displaced frame difference") entre l'image source et l'image estimée (voir WALKER D.R. RAO K.R. "New technic in pel - recursive motion compensation" ICC 84, Amsterdam, pp. 703-706), ou tout autre critère équivalent basé sur la luminance ou la chrominance de l'image aux points concernés, une surface mobile uniforme ou quasi uniforme ne permet pas d'obtenir une estimation de vitesse exacte, ni même utile. L'estimation de vitesse ne peut ê tre exacte, du fait que la DFD relevée est nulle ou très faible dans la surface uniforme ou quasi uniforme, alors même que cette surface peut être à vitesse de déplacement élevée. L'information de vitesse obtenue est donc inutile, ou tout au moins présente une utilité foncièrement moindre que la vitesse de déplacement du contour. 6 2633417 L'objectif de l'invention a été non seule- ment d'identifier les problèmes présentés ci-dessus, mais encore de réaliser des moyens optimisés de ré- solution de ces problèmes. Ainsi, un objectif essentiel de l'invention est de fournir un procédé de détection de contours, dans une image électronique, qui soit peu coûteux en terme de calculs algorithmiques, et fiable. Un autre objectif de l'invention est de fournir un tel procédé qui détermine la vitesse de déplacement du contour, dans une image, et singuliè- rement des contours à déplacement translatif. On no- tera que, dans la plupart des cas, la détection de tels contours s'effectue, suivant l'invention, sur des blocs d'images suffisamment petits pour que des contours à déplacement plus complexe (notamment avec une composante rotationnelle), soient néanmoins considérés en approximation comme étant à déplace- ment translatif. Un autre objectif fondamental de l'invention est de fournir un procédé de segmentation d'une image é lectronique, qui allie les performances en terme de débit de données traitées (et notamment des données d'assistance, avec transmission sur canal MAC), à une qualité HD (Haute définition) des images reconstruites dans le décodeur en incluant un pro- cédé de détection des contours dans l'image. Un objectif complémentaire de l'invention est de fournir un tel procédé de segmentation qui permette de maximiser la taille des blocs d'images segmentés, sans compromettre la qualité psychovi- suelle des images reconstruites. Comme déjà men- tionné, cet objectif vise à pallier des insuffi- sances du procédé de segmentation antérieur par le- quel la lecture du champ de vecteur dans un bloc à contour, ne permet pas d'allouer l'un ou l'autre vecteur sur critère majoritaire, et conduit donc dé- favorablement à une division du bloc, voir à sa classification dans la catégorie des blocs "non com- 7 2633417 pensables" (c'est-à-dire insusceptibles de représen- tation fidèle par un vecteur vitesse unique, par manque d'homogénéité apparente), alors même que la sélection de la vitesse de déplacement du contour est psychovisuellement acceptable. Ces objectifs, ainsi que d'autres qui appa- raîtront par la suite sont atteints à l'aide d'un procédé de segmentation d'un champ de vecteurs-vi- tesse, notamment représentatif des valeurs de la vi- tesse courante de déplacement, dans le plan de l'image, de points d'une image électronique apparte- nant à une séquence d'image, ladite segmentation consistant à découper ledit champ de vecteurs en blocs à vitesse de déplacement sensiblement homogène et à affecter à chacun desdits blocs au moins un vecteur-vitesse représentant, notamment en vue de réaliser un traitement de compression optimisée du signal d'image fournissant d'une part des échantil- lons des points d'image, et d'autre part des données d'assistance à la reconstruction d'image à partir desdits échantillons, les données d'assistance com- prenant notamment les valeurs de vecteurs vitesse représentatifs du déplacement des é chantillons de points, procédé caractérisé en ce qu'il comprend un procédé de détection de-contours dans chacun desdits blocs d'image, et en ce que ledit vecteur-vitesse représen- tant affecté à un bloc possédant un contour unique prédominant est le vecteur-vitesse de déplacement dudit contour. Avantageusement, l'étape de détermination de l'existence d'un contour unique prédominant dans un bloc d'image consiste à vérifier qu'il existe un vecteur vitesse unique représentant un pourcentage du nombre de pointscontour sélectionnés dans ledit bloc, supérieur à un pourcentage prédéterminé. De façon avantageuse, la détection de contours utilisée consiste à associer à chaque point 8 2633417 de ladite image, une mesure du gradient de la valeur d'un critère visuel variable associé à chaque point, dans l'environnement immédiat dudit point, et à sé- lectionner un ensemble de points-contour définis en ce qu'ils sont associés à une mesure de gradient su- périeure à un seuil donné. De façon avantageuse, on associe à chaque point une première mesure du gradient de la valeur dudit critère visuel en direction verticale dans l'environnement immédiat dudit point, et une seconde mesure du gradient de la valeur dudit critère visuel en direction horizontale dans l'environnement immé- diat dudit point, et on sélectionne les points dont la mesure du gradient horizontal est supérieure à un seuil donné et/ou dont la mesure du gradient verti- cal est supérieure à un seuil donné. Préférentiellement, chacune desdites mesures de gradient est réalisée soit entre ledit point au- quel ladite mesure est associée et un point adja- cent, soit entre deux points adjacents et sensible- ment symétriques par rapport audit point auquel la- dite mesure est associée La détection de contour, retenue par l'invention, est ainsi un opérateur "gradient", et donc de conception très simple. La comparaison de la mesure avec un seuil prédéterminé indique si le point courant appartient ou non à un contour. De façon avantageuse, ledit critère visuel variable est la luminance. Préférentiellement, le nombre de vecteurs vitesse représentants, pour une image, est au plus égal à un nombre n prédéterminé. Dans ce cas, le processus de sélection des- dits n vecteurs vitesse représentants comptend- no- tamment les étapes suivantes: - on associe à chaque point-contour, le vecteur-vi- tesse estimé de son déplacement dans le plan de l'image; *9 c26334! - on calcule, pour chaque valeur estimée de vecteur vitesse, le nombre de points-contour auxquels ladite valeur est associée; - on classe lesdits vecteurs-vitesse par ordre dé- croissant de représentativité des points-contour - on sélectionne les n premiers vecteurs vitesse de ladite liste de classement. Un traitement par histogramme bidimensionnel des composantes des vecteurs permet de sélectionner les n vecteurs indépendants et représentatifs, du fait notamment d'une opération de "quantification" de leurs composantes verticales et horizontales. L'indépendance assure qu'il n'y aura pas de conflit dans la phase de réallocation, et la représentati- vité témoigne qu'un pourcentage très important de points peut être alloué par l'un des n vecteurs dé- duits de l'histogramme. Selon une autre caractéristique de l'invention, le procédé-de segmentation comporte une phase de réallocation d'un vecteur vitesse, par bloc d'images, réalisée de la manière suivante: - si il existe dans le bloc courant des points situés sur un contour, et animés d'une vi- tesse proche ou égale, alors ce vecteur vitesse est assigné au bloc; - si au contraire aucun contour n'a été dé- tecté, le bloc est considéré comme étant spatiale- ment uniforme, et un critère majoritaire alloue le vecteur le plus présent dans le bloc. Avantageusement, on procède, préalablement au classement desdits vecteurs vitesse, à une étape de lissage de la valeur de chaque vecteur vitesse en fonction de l'environnement spatial immédiat du point-contour auquel il est associé, par exemple en affectant à chaque point-contour un vecteur vitesse dont la valeur est la moyenne des vecteurs vitesse estimés pour les points adjacents auxdits points contours, lesdits points adjacents é tant préféren- tiellement ceux présents dans une fenêtre carrée centrée sur ledit point-contour. Selon une caractéristique préférentielle de l'invention, ledit procédé de détection d'un contour unique prédominant est effectué itérativement, sur des blocs d'images divisés en sous-blocs à chaque itération, ledit découpage itératif étant appliqué à chaque bloc ou sous-bloc jusqu'à détection d'un contour unique prédominant dans chaque bloc ou sous- bloc, ou jusqu'à obtention d'une taille minimale de sous-bloc. D'autres caractéristiques et avantages de l'invention apparaîtront à la lecture suivante de la description d'un mode de réalisation matériel préfé- rentiel de l'invention, donnée à titre illustratif et non limitatif, et des dessins annexés dans les- quels: - la figure 1 illustre schématiquement la succession d'étapes du processus de codage/décodage dans lequel s'inscrit le mode de réalisation préfé- rentiel du procédé de segmentation de l'invention; - la figure 2 est un organigramme illustrant la succession des étapes principales du mode de réa- lisation préférentiel du procédé de segmentation d'images avec détection de contours, suivant l'invention; - la figure 3 représente, de façon schéma- tique, un bloc d'images comportant un contour; - la figure 4 est un agrandissement d'un sous-bloc d'images de 3 x 3 pixels, traversé par un contour, et illustrant le procédé de détection de contour par différence de luminance; - les figures 5, et 6a, 6b illustrent le principe de détection bidirectionnelle de contours, sur un bloc d'images contenant un contour fermé tra- pézoidal. Les figures 7 à 12 détaillent les fonctions logiques d'une implantation matérielle préféren- tielle mettant en oeuvre le procédé de segmentation il 26335417 d'image avec détection de contours suivant l'invention, et plus précisément: - la figure 7 se rapporte à une première phase de calcul de l'histogramme pour l'image ou la portion d'image courante, et de détermination du maximum de l'histogramme; - la figure 8 concerne une seconde phase de sélection de n vecteurs de vitesse de déplacement des points d'image, dans l'histogramme construit en fig 7; - la figure 9 a pour objet une implantation matérielle de la phase de classification des n vec- teurs sélectionnés en figure 8; - la figure 10 est relative à une troisième phase de réallocation par points des n vecteurs sé- lectionnés et classés; - les figures 11 et 12 explicitent une qua- trième phase de réallocation des vecteurs de vitesse de déplacement des points d'image, par blocs de taille N x N (N = 32,16.et 8). L'ensemble du procédé de segmentation, avec détection de contours, suivant l'invention est pré- senté en figure 2. Le procédé est appliqué à une image source 10, appartenant à une séquence d'images é lectro- niques. Plus précisément, le procédé est préféren- tiellement appliqué à des portions d'images, de fa- çon à limiter les besoins en moyens de calcul et de mémorisation. Ces portions d'images sont par exemple des blocs quadrangulaires représentant 1/4, ou 1/16e d'image. Les portions d'image 10 subissent ensuite un traitement de filtrage 11, avant d'être utilisées d'une part pour une étape 12 d'estimation de mouve- ment entre l'image courante et l'image précédente, et d'autre part, pour une étape 13 de détection des contours spatiaux dans l'image courante. 12 263341? L'étape 12 d'estimation de mouvement permet d'obtenir, pour l'image ou la portion d'image consi- dérée, un champ de vecteurs vitesse définis par leurs coordonnées (v, v). La méthode d'estimation x' y) est avantageusement celle décrite dans la demande de brevet française no 8717601 déjà mentionnée, mais on peut é galement envisager d'utiliser d'autres mé- thodes de détermination du champ des vecteurs vi- tesse dans l'image. L'étape 13 de détection des contours spa- tiaux va être détaillée plus avant en relation avec les figures 3, 4, 5, et 6a, 6b. Cette étape permet d'identifier l'existence de contours dans la portion d'image traitée de façon à sélectionner dans l'image les seuls points appartenant à un contour. Cette sélection permet ensuite, à l'étape 14, de tracer un histogramme bidimensionnel (c'est- à-dire à deux composantes v, v) des vecteurs-vi- * x y tesse des points sélectionnés seulement. En d'autres termes, la détection des contours spatiaux réalisés à l'étape 13 permet d'effectuer une sélection sur le champ des vecteurs-vitesse de l'étape 12, pour ne retenir dans l'histogramme de l'étape 14 que les vi- tesses de déplacement des points appartenant à un contour. De façon avantageuse, ledit champ de vec- teurs-vitesses peut être préalablement déterminé par un procédé d'estimation du mouvement, dans le plan d'image, des seuls points-contours sélectionnés. Il peut ê tre avantageux d'introduire une étape (non représentée) de détection de l'existence d'un "panoramique" sur l'image, par exemple après l'étape 13. Le panoramique correspond au cas d'une translation du cadrage d'une image fixe, par exemple lorqu'une caméra balaye un paysage immobile. Dans une telle situation, il est -économique du point de vue des coûts de traitement et des débits de trans- mission, de repérer que tous les contours sont asso- ciés à un vecteur vitesse égal ou très proche. Un 13 2653417 seul vecteur vitesse sera donc transmis pour l'ensemble de l'image. Cette situation est bien entendu exception- nelle. Le traitement de l'histogramme bidimension- nel 14 permet, à l'étape 15, de sélectionner n vec- teurs indépendants et représentatifs des contours détectés. Comme déjà mentionné plus haut, l'indépendance assure qu'il n'y aura pas de conflit dans la phase ultérieure de réallocation 16, 17 et la représentativité est un facteur de mérite qui rend compte du fait que chacun des n vecteurs sélec- tionnés, dans l'histogramme, convient à la réalloca- tion d'un pourcentage important de points dans la portion d'image traitée. L'étape 16 de "réallocation par point" a pour but de remplacer le vecteur-vitesse initiale- ment estimé en chaque point d'image, par l'un des n représentants sélectionnés à l'étape 15. Cette opé- ration de réallocation a pour critère une notion de distance absolue maximale sur chaque composant v v x, y des vecteurs-vitesse initiaux, et représentants. L'étape 17 de "réallocation par bloc" est effectuée au sein d'une procédure de codage hiérar- chique par division itérative des blocs jusqu'à ob- tention d'un seuil acceptable d' "uniformité" ou de "représentativité" par un vecteur-vitesse représen- tant (quadtree). Les blocs initiaux sont par exemple des blocs 32 x 32 points, susceptibles d'être divi- sés en quatre blocs de 16 x 16 points eux-mêmes en- core découpables en sous-blocs de 8 x 8 points. Se- lon l'invention, le processus de réallocation par bloc consiste à: assigner à chaque bloc, ou sous-bloc, le vecteur-vitesse d'un contour lorsqu'il existe dans le bloc courant des points situés sur un contour unique, et animés d'une vitesse égale, ou proche; - allouer le vecteurvitesse le plus présent dans le bloc, si le bloc est uniforme spatialement, t14 et ne comporte donc pas de contour. Cette allocation est par exemple réalisée sur utilisation d'un cri- tère majoritaire au sein d'un histogramme local des vecteurs-vitesse; décider que le bloc courant est non com- pensable si, après découpage maximal dans le proces- sus de codage itérative, aucun vecteur-vitesse re- présentant n'est susceptible d'être alloué au sous- bloc. Le jeu complet des blocs d'image, affectés chacun de leur vecteur représentant est ensuite acheminé (18) vers un traitement de codage des contours, et des vecteurs représentants, pour trans- mission à débit réduit. La figure 3 illustre la situation d'un bloc d'image traversé par un contour, à laquelle le pro- cédé de segmentation suivant l'invention apporte une amélioration substantielle. Dans le bloc 30 représenté en figure 3, on rencontre d'une part une première zone 31 de points animés d'une vitesse Vl, et d'autre part, une se- conde zone 32 de points animés d'une vitesse V2. Chacune de ces zones 31, 32, essentiellement homo- gène, correspond par exemple à une portion de sur- face apparente de deux objets adjacents, ou superpo- sés dans le plan de l'image. La frontière 33 entre ces deux zones 31 et 32 constitue un contour, animé d'une vitesse égale soit à Vl, soit à V2. Dans le cadre d'un processus de segmentation classique, consistant à attribuer à l'ensemble du bloc 30 un vecteur-vitesse sur un critère majori- taire, on constate d'une part une difficulté de dé- cision (dans le cas o les zones 31 et 32 sont de surfaces approximativement égales), et d'autre part, une distorsion psychovisuelle systématique, comme déjà souligné en préambule. Le procédé suivant l'invention consiste à repérer les contours 33, dans les blocs d'image, de 631 façon à pouvoir allouer aux blocs à contour, le vec- teur-vitesse de déplacement du contour. En cas de présence de plusieurs contours de vitesse différente dans un même bloc de départ 30, on prévoit une division du bloc en quatre blocs de taille inférieure sur lesquels on effectue une ana- lyse identique de repérage des contours. Cette divi- sion peut ê tre réalisée plusieurs fois de manière itérative, jusqu'à une taille minimale à laquelle le bloc est déclaré non compensable si aucun des n vec- teurs ne peut être alloué. Inversement, en cas d'absence de contour 33 dans un bloc 30, on attribuera avantageusement au bloc le vecteur-vitesse majoritaire. Des essais ont montré que cette procédure d'allocation, sans contrainte de représentativité apparaît satisfai- sante d'un point de vue psychovisuel. La figure 4 illustre le principe de détec- tion de contour par mesure d'un gradient de lumi- nance dans l'environnement d'un point 40. Le point 40 est ici entouré notamment par 4 points adjacents 41, 42, 43, 44 formant maillage d'image. Le maillage représenté est traversé par un contour 45. La détection du contour 45 s'effectue, dans le cas représenté, par deux mesures de différence de luminosité: - - une première mesure de différence de lumi- nosité, grad x, dans la direction horizontale, entre les points 42 et 44; - une seconde mesure de différente lumino- sité: grad y, dans le sens vertical, entre les points 41 et 43. L'identification d'un contour s'effectue alors en fonction du dépassement ou non d'un seuil de différence de luminance, pour l'une ou l'autre des mesures de gradient effectuées. En effet, si grad x est élevé, il y a détection d'un contour ver- tical. En revanche, grad x est inférieur à un seuil 16 2633417 préalablement fixé, on considèrera qu'il n'y a pas de contour vertical entre les points considérés. Clairement, le même raisonnement s'applique pour la mesure d'une différence verticale de lumino- sité (grad y) correspondant à la détection des contours horizontaux. Bien entendu, la mesure des deux gradients associés au point 40 pourrait être réalisée de façon différente, par exemple en effectuant conventionnel- lement une mesure entre la luminance du point 40, et de chacun des points suivants 44 et 43, en sens ho- rizontal et vertical respectivement. Le principe de la double mesure, en sens ho- rizontal et en sens vertical, malgré sa redondance dans certains cas, permet de faire face à tous les cas de figures. Ceci est représenté en figure 5, et 6a, 6b, dans lesquelles est illustrée la détection d'un contour trapézoidal 51 inscrit dans un bloc d'image 50 (figure 5). Le contour trapézoïdal 51 est constitué de deux côtés horizontaux 52, 53, d'un côté vertical 54 et d'un côté oblique 55. La mesure de la différence de luminosité horizontale (grad x) est fiable pour la détection des portions de contour 54 et 55 (fi- gure 6a). Cette mesure de grad x, dans le bloc 50, permet de retenir les points des portions de contour 54 et 55. En revanche, la mesure de grad x n'est pas fiable pour la détection des portions de contour ho- rizontales 52 et 53. Ces portions de contour 52, 53 sont en re- vanche détectées au moyen du critère de la diffé- rence de luminosité verticale de points grad y, de même que, à nouveau, la portion de contour 55 (fi- gure 6b). Bien entendu, l'invention ne se limite pas à l'utilisation d'un opérateur gradient appliqué à la luminance des points d'image pour la détection des contours. Tout processus équivalent en relation avec - 17 tOt-17 17 a2633413 un critère psychovisuel de détection de contour peut assi bien être utilisé. Les figures 7 à 12 correspondent à une des- cription d'une réalisation matérielle préférentielle de l'invention. On suppose disposer des composantes Vx et Vy en mémoire au point (x, y), correspondant au champ complet des vecteurs-vitesse d'une portion d'image. Pour simplifier les calculs et alléger la réalisation matérielle, Vx et Vy sont déterminées un point sur deux, suivant une structure quinconce ligne dans l'image courante. x note la dimension horizontale (position du point d'image dans la ligne y) et y note la dimen- sion verticale (position de la ligne dans l'image). La figure 7 décrit les fonctions correspon- dant à la phase de construction de l'histogramme bi- dimensionnel. L'histogramme des vecteurs-vitesse est éta- bli à partir des contours de l'image courante. Un opérateur "gradients spatiaux" définit (71) l'activité spatiale au point (x,y) et valide la lecture du vecteur-vitesse en ce point si l'un des gradients est supérieur à un seuil (de valeur ty- pique égale à 8). L'opération "gradient" considérée est avan- tageusement une différence absolue entre les inten- sités I: grad x = /I(x-l,y) - I(x+l,y)/ = /I(42) - I(44)/ (cf Fig. 4) grad y = /I(x,y-1) - I(x,y+l)/ = /I(41) - I(43)/ (cf Fig. 4) Le vecteur (Vx, Vy) validé ificrémente d'une unité (73) le contenu N(Vx, Vy) à l'adresse (Vx,- Vy) de l'histogramme: Vx, Vy ---> N (Vx, Vy) + 1 De façon avantageuse, Vx et Vy sont définis par 8 bits (1 bit de signe, dynamique +/- 16, préci- sion 1/8). Mais on a constaté que, d'une manière 18 26.33417 plus générale, une expression sur 6 à 8 bits est convenable, avec 1 bit de signe, et une précision tolérée de 2 à 3 bits après la virgule. L'histogramme 14 est une mémoire 256 x 256, d'une profondeur limitée à 16 bits (dynamique = 64 - K). Cette valeur est rarement atteinte puisque l'image source est analysée par morceaux (typique- ment, un morceau représente 1/16e d'image HD). Si cette valeur est atteinte, ce ne peut être qu'une fois (en raison du nombre maximum de points par mor- ceau d'image). Le maximum MAX 75 de l'histogramme est dé- terminé pendant et à chaque accès à l'histogramme 14. On compare 74 le contenu incrémenté de l'adresse courante avec le dernier maximum enregistré. Le plus grand est conservé pour la comfparaison future: MAX (i) = max (N(Vx, Vy) + 1, MAX (i-l)) i désigne l'instant courant et i-l le der- nier maximum retenu. La valeur du maximum 75, est enregistrée en mémoire 70 pour permettre les comparaisons succes- sives 74 et n'a plus d'intérêt en fin de ce traite- ment local. Un système de gestion 76 analyse l'image par morceaux prédéterminés et commande 79 l'initialisation de l'histogramme 77, et du maximum 78 au début de chaque morceau traité. La figure 8 correspond à une phase de sélec- tion de n vecteurs dans l'histogramme, choisis comme étant les plus représentatifs sur la portion d'image traitée. Au début de cette phase, on dispose d'un histogramme 14 et de la valeur (Vx, Vy) du maximum de cet histogramme en mémoire 70. Déterminer les n vecteurs les plus impor- tants revient à extraire les n maxima de l'histogramme. Cependant, il est considéré que tous les points appartenant à une certaine plage, par exemple 19 634 distants de +/- dV (81) (en terme de vecteur-vi- tesse) auront le même vecteur représentant. L'erreur ainsi introduite sur certains points n'est pas subjectivement visible et les avan- tages sont multiples, en terme de "filtrage" du champ de vecteur, en terme de nombre total de points représentés ou encore notamment en terme de préci- sion pour la compensation. Le paramètre; dV = 1/8 a é té considéré comme étant optimal suite aux expériences menées et aux résultats obtenus. Une valeur supérieure aug- mente le nombre de points représentés, mais des cas critiques de saccades légères mais perceptibles ont été constaté. Ces saccades sont dues à la commuta- tion entre vecteurs ou à un choix de vecteur trop éloigné (à dV près) de la valeur réelle. La connaissance du maximum (Vx, Vy) 70 de l'histogramme et le paramètre dV construisent un quadrillage régulier 82 de l'histogramme centré sur (Vx, Vy). Chaque cellule élémentaire a pour centre: Vi = Vx + k. (2. dV + 1) Vj = Vy + k. (2. dV + 1) k est un entier, variant par pas de 1, depuis 0 jusqu'aux valeurs vérifiant les inégalités: - 16 (2. dV + 1). (2. dV + 1) centrée sur Vi, Vj. Pour sélectionner les n vecteurs, toutes les cellules sont lues 83 et le contenu de chacune est cumulé 84 (indépendamment des autres). Pour la cel- lule repérée par 1, l'intégrale I (1) associée est: + dV + dV 1(1) = t N(Vi(l) + a,Vj(1) + b) a = - dV b = - dV Vi(l) et Vj(l) sont les coordonnées du centre de la cellule 1. N(V1, V2) est le contenu de l'histogramme des vecteurs-vitesse au point (Vl, V2). 22633417 La classification 85 consiste à déterminer les n plus fortes valeurs de I(1) et en conséquence, à connaitre les n vecteurs (Vi(1), Vj(l) représen- tants. Appelons I(m) le contenu de l'accumulateur m (figure 9) associé au vecteur (Vi(m), Vj(m)), m appartient à (l,n). Si I(1) éliminé (95). Pour éviter de tester une à une les inégali- tés, la solution globale de la figure 9 propose de mener en parallèle toutes les comparaisons 96. Un traitement absorbe les résultats et gère les déca- lages (93). Comme illustré en figure 10 (troisième phase), le champ de vecteurs-vitesse initial est en- suite réalloué en chaque point (x, y) par l'un des n vecteurs sélectionnés. On note: Vx,- Vy le vecteur original au point (x, y) Vix, Viy le vecteur de rang i (i appartient à (l,n). La vérification simultanée des inégalités: /Vx-Vix/ En raison du quadrillage régulier de des- cription de l'histogramme, il ne peut pas y avoir de multiples solutions (critère d'indépendance entre vecteurs). Il y aura au plus un couple d'inégalités vé- rifiées. Un fonctionnement parallèle des n candidats 101 accélère le traitement; et l'analyse 102 des 21 263341 résultats des comparaisons transfère en mémoire 103 le code i au point (x, y). L'intérêt de mémoriser le code i est de li- miter la taille de la mémoire 103: Vx, Vy ---> 16 bits i ---> 4 bits sin = 16 vecteurs candidats Grâce à une initialisation préalable à O 104, tout point (x, y) tel que: pour tout i: /Vx-Vix/ > dV ou /Vy-Viy/ > dV i appartient à (1, n) est considéré comme point non alloué. La quatrième phase (figure 11) correspond à une réallocation par bloc. On considère un bloc de taille N x N. Un vecteur sera alloué à ce bloc si: 1) les points de ce bloc situés sur un contour spatial de l'image ont même vecteur (à x % près); 2) aucun contour n'existe dans ce bloc, au- quel cas un critère majoritaire attribue le vecteur le plus présent. Si aucune des conditions précédentes n'est vérifiée, la taille N x N du bloc est divisée et on considère 4 blocs de taille N/2 x N/2 sur lesquels les procédures ci-dessus sont mises en oeuvre sépa- rément. Si la taille N x N est la taille minimale admise, le bloc non alloué est considéré non compen- sable. A partir des gradients déjà calculés, on dé- nombre le nombre de points du bloc situés sur un contour, donc vérifiant le système (72): grad x > seuil ou grad y > seuil Le cumul 111 est la fonction: NCC ---> NCC + 1, et permet de dénombrer les points situés sur un contour. 22 263341 7 Parallèlement, on dénombre 114 le nombre de points du bloc situés sur un contour et attachés à un vecteur, par la fonction de cumul 113. NVC ---> NVC + 1, si: code i <> 0, et si: grad x > seuil ou: grad y > seuil Ces fonctions 111, 113 se réalisent aisément par des circuits électroniques classiques ou éven- tuellement par des circuits spécialisés et dévelop- pés pour cela. Si: code i <> 0 (115) et si: grad x > seuil ou: grad y > seuil (72), alors on incrémente d'une unité 116 le contenu de l'adresse i (la mémoire 117 contenant l'histogramme aura été initialisé en début de bloc courant). La détermination du maximum MMAX 118 de l'histogramme 117 et du code noté KK correspondant est analogue au traitement déjà décrit en relation avec la figure 7. Cette valeur est enregistrée en mémoire 119. Pour la compréhension de la figure 12 rela- tive au choix du vecteur d'un bloc, on rappelle que NCC: Nombre de points contour du bloc cou- rant NVC: Nombre de.points contour ayant un vec- teur validé MMAX: maximum de l'histogramme local. On définit: NCT:nombre en dessous duquel on ne valide pas les points contour (le bloc est alors dit uni- forme), par exemple: NCT = 5. * NVC/NCC: rapport entre le nombre de points contour ayant un vecteur validé et le nombre total de points contour. 23 263341 PCT: pourcentage imposant ou non l'influence des points contour ayant un vecteur va- lidé, par exemple: PCT = 0,6. MMAX/NVC: plus grand pourcentage de points contours ayant le même vecteur. VCM: acceptation ou non du vecteur majori- taire des points contour, par exemple: VCM = 0,8. Selon les résultats des comparaisons 121, 122, 123, 124 de la figure 12, une fonction de transfert 125 valide la sortie d'un circuit sui- vant: 1) circuit CVM: il n'y a pas de contour spatial. dans le bloc courant et le vecteur est choisi sur critère majoritaire. Le vecteur majoritaire du bloc N x N est le vecteur le plus présent dans ce bloc. Par histo- gramme et recherche du maximum, on retient le code du vecteur correspondant en ce maximum. Si la sortie du circuit CVM est validée, tous les points du bloc sont affectés du code re- tenu. 2) Circuit RVPB: les points contour ont ma- joritairement le. même vecteur qui est alloué à tous les points du bloc courant. Le code KK correspondant au vecteur du contour majoritaire est connu (figure 11). Le cir- cuit RVPB est alors simplement une validation du code KK et son affectation à tous les points du bloc. 3) signal INDIC: l'allocation au niveau du bloc N x N est impossible et, soit le bloc est di- visé en 4 blocs, soit le bloc est déclaré non com- pensable si N x N est la taille inférieure admise. Si le signal INDIC est nul, on teste la taille N x N. Si cette taille n'est pas la taille mini- male, tous les points du bloc sont affectés du code nul qui témoigne que le bloc ne sera pas compensable et devra, dans un schéma complet HDMAC, être traité 24 25633'.1 par une autre voie (demande de brevet français 8717601, déjà citée). - Les résultats obtenus par la mise en oeuvre de l'invention, dans le cadre d'une image Haute Dé- finition destinée à ê tre transmise par canal MAC (HDMAC) s'expriment en terme de qualité d'images d'une part, et de débit d'autre part. A partir des expérimentations menées par les inventeurs il ressort que la segmentation proposée ne dégrade pas sensiblement la qualité de l'image reconstruite par rapport à l'image originale. Il reste important de noter que la segmentation affecte une (ou plusieurs) voie(s) à compensation de mouve- ment mise(s) en concurrence, au sein d'un même sys- tème HDMAC, avec des voies à filtres linéaires. Ce système restitue une image globale, résultat du mé- lange de plusieurs voies. Pour juger du débit, limité à 1,1 Mbits/s dans le canal MAC, une simple opération permet d'évaluer les performances de la segmentation: débit = nb x (cb + cv) x nd x ft Le débit dû à la segmentation est le produit de: nb = nombre de blocs par secteur d'images HD nd = nombre de secteurs dans une image HD cb = nombre de bits pour coder la taille d'un bloc cv =nombre de bits pour coder un vecteur ft = fréquence temporelle Les chiffres retenus actuellement sont: nd = 16 secteurs par image HD cb = 1 (pour des blocs 32 x 32, 16 x 16 ou 8 x 8) cv = 4 (car 16 vecteurs par secteur) Pour une voie 40 ms à compensation de mouve- ment, la structure d'échantillonnage est de type "field skipped" et donc: ft = 25 Hz. Sachant qu'en moyenne: nb = 150, alors le débit d'une voie 40 ms est inférieur à 400 kbits/s. 3 Pour une voie 80 ms à compensation de mouve- ment, on désentrelace les trames impaires par filtre linéaire. Le mouvement est évalué entre les images ainsi constituées. On transmet une image désentrela- cée originale sur deux (sous échantillonnée spatia- lement pour respecter la norme MAC) et le champ de vecteurs segmenté permettant de reconstruire l'image non transmise. La fréquence temporelle de transmis- sion des vecteurs est donc: d0 ft = 12,5 Hz 10. d'o un débit (pour une voie 80 ms compensée) infé- rieur à 200 kbits/s. Puisqu'il y a exclusion entre les voies 40 ms et 80 ms, le débit total est inférieur à la somme des débits calculés ci-dessus. 26 Z5. 26 2633-417 REVENDICATIONS 1) Procédé de segmentation d'un champ de vecteurs-vitesse, notamment représentatif des va- leurs de la vitesse courante de déplacement, dans le plan de l'image, de points (41, 42, 43, 44) d'une image é lectronique appartenant à une séquence d'image, ladite segmentation consistant à découper ledit champ de vecteurs en blocs à vitesse de dépla- cement sensiblement homogène et à affecter à chacun desdits blocs au moins un vecteur-vitesse représen- tant, notamment en vue de réaliser un traitement de compression optimisée du signal d'image fournissant d'une part des échantillons des points d'image, et d'autre part des données d'assistance à la recons- truction d'image à partir desdits échantillons, les données d'assistance comprenant notamment les va- leurs de vecteurs vitesse représentatifs du déplace- ment des échantillons de points, procédé caractérisé en ce qu'il comprend un procédé (13) de détection de contours dans chacun desdits blocs d'image, et en ce que ledit vecteur-vitesse représen- tant affecté à un bloc possédant un contour unique prédominant est le vecteur-vitesse de déplacement dudit contour. 2) Procédé selon la revendication 1, carac- térisé en ce qu'il utilise le procédé de détection de contours consistant à 'associer à chaque point (41, 42, 43, 44) de ladite image, une mesure du gra- dient de la valeur d'un critère visuel dans l'environnement immédiat dudit point, et à sélec- tionner un ensemble de points-contour définis en ce qu'ils sont associés à une mesure de gradient supé- rieure à un seuil donné. 3) Procédé suivant la revendication 2 carac- térisé en ce que ledit critère visuel de valeur va- riable est la luminance. 27 2633-'1 4) Procédé selon la revendication 1, carac- térisé en ce que l'étape de détermination de l'existence d'un contour unique prédominant dans un bloc d'image consiste à vérifier qu'il existe un vecteur vitesse unique représentant un pourcentage du nombre de pointscontour sélectionnés dans ledit bloc, supérieur à un pourcentage prédéterminé. ) Procédé selon la revendication 4, carac- térisé en ce que ledit pourcentage prédéterminé est compris entre 80% et 90% environ, préférentiellement % environ. 6) Procédé selon la revendication 1, carac- térisé en ce que ledit champ de vecteurs-vitesses est déterminé par un procédé d'estimation du mouve- ment, dans le plan d'image, des seuls points- contours sélectionnés. 7) Procédé selon la revendication 1, carac- térisé en ce que le nombre de vecteurs vitesse re- présentants, pour une image, est au plus égal à un nombre n prédéterminé. 8) Procédé selon la revendication 7, carac- térisé en ce que ladite image est divisée en por- tions égales d'une surface d'un seizième d'image, et en ce que lesdits n vecteurs vitesse représentants sont choisis indépendamment pour chaque portion d'image. 9) Procédé selon la revendication 7 ou 8, dans le cas de la ségmentation d'une image, ou por- tion d'image, en haute définition, destinée à subir un traitement de compression en vue de sa transmis- sion à travers un canal à débit limité de type MAC, ledit traitement de compression étant du type à saut de trame et é chantillonnage en quinconce ('field skipped'), avec transmission de données d'assistance à la reconstruction de l'image comprimée représenta- tives notamment du mouvement des points retenus par 1' échantillonnage, - 28 26341 caractérisé en ce que ledit nombre n de vecteurs vi- tesse représentants est au moins égal à 12, préf é- rentiellement 15 environ. ) Procédé selon la revendication 7, carac- térisé en ce que le processus de sélection desdits n vecteurs vitesse représentants comprend notamment les étapes suivantes: - on associe à chaque point-contour, le vecteur-vi- tesse estimé de son déplacement dans le plan de l'image; - on calcule, pour chaque valeur estimée de vecteur vitesse, le nombre de pointscontour auxquels ladite valeur est associée; - on classe lesdits vecteurs-vitesse par ordre dé- croissant de représentativité des points-contour - on sélectionne les n premiers vecteurs vitesse de ladite liste de classement. 11) Procédé selon la revendication 10 carac- térisé en ce que lesdits vecteurs vitesse associés aux points-contour sélectionnés sont exprimés sur 6 à 8 bits, dont 1 bit de signe, la vitesse de dépla- cement é tant préférentiellement exprimée en pixels par image avec une précision tolérée de 2 à 3 bits après la virgule. - 12) Procédé selon la revendication 10, ca- ractérisé en ce qu'on procède, préalablement au classement desdits vecteurs vitesse, à une étape de lissage de la valeur de chaque vecteur vitesse en fonction de l'environnement spatial immédiat du point-contour auquel il est associé. 13) Procédé selon la revendication 12, ca- ractérisé en ce que ladite étape de lissage consiste à affecter à chaque point-contour un vecteur vitesse dont la valeur est la moyenne des vecteurs vitesse estimés pour les points adjacents auxdits points contours, lesdits points adjacents é tant préféren- tiellement ceux présents dans une fenêtre carrée centrée sur ledit point-contour. 29 2633417 14) Procédé selon la revendication 11, ca- ractérisé en ce qu'on réalloue à chaque point- contour, à chaque fois que possible, celui des n vecteurs vitesse sélectionnés qui présente une va- leur au plus é gale audit é cart toléré de 1/8 de pixels par image. ) Procédé suivant la revendication 1 ca- ractérisé en ce que ledit procédé de détection d'un contour unique prédominant est effectué itérative- ment, sur des blocs d'images divisés en sous-blocs à chaque itération, ledit découpage itératif étant ap- pliqué à chaque bloc ou sous-bloc jusqu'à détection d'un contour unique prédominant dans chaque bloc ou sous-bloc. 16) Procédé suivant la revendication 15 ca- ]5 ractérisé en ce que ledit découpage itératif est ef- fectué jusqu'à obtention d'une taille minimale de sous-bloc, et en ce que chaque sous-bloc de taille minimale comprenant des points de contour n'appartenant pas à un contour unique prédominant est déclaré non compensable. 17) Procédé suivant la revendication 1 ca- ractérisé en ce que chacun des blocs d'image dans lesquels aucun point de contour n'a été détecté est représenté par le vecteur-vitesse représentant le plus grand nombre de points dans ledit bloc.