Brevet FR2696028A1 — publié le 19940325

"Dispositif de codage d'images fixes et dispositif de décodage correspondant". Description: La présente invention concerne un dispositif de codage d'images fixes comprenant des moyens de segmentation desdites images en régions homogènes auxquelles est attaché un label spécifique et des moyens de codage du contenu et des contours desdites régions, ainsi qu'un dispositif de décodage correspondant Cette invention est utilisable notamment dans le domaine de la transmission et/ou du stockage d'images fixes, par exemple dans des applications telles que celles impliquant un dispositif "Minitel" ou similaire, pour la réalisation de codeurs-décodeurs restant extrêmement simples. De nombreux documents, et par exemple l'article "Recent results in highcompression imaging coding", de M Kunt, M Bénard et R Leonardi, paru dans IEEE Transactions on Circuits and Systems, vol CAS-34, n'11, novembre 1987, PP 1306-1336, décrivent la technique de codage reposant sur le principe d'une segmentation préalable de chaque image en tout un ensemble de régions préservant cependant les contours correspondant aux objets présents dans l'image Ladite segmentation consiste, dans ses grandes lignes, à déterminer dans l'image, selon certains critères, des régions relativement homogènes, c'est-à- dire à variation faible ou nulle de luminosité, et à coder alors d'une part le contenu de ces régions et d'autre part leur contour. A l'heure actuelle, on dispose de procédés qui semblent satisfaisants pour le codage, avec compression de données, de la texture ou du contenu de ces régions Par contre, il n'en est pas de même pour les contours qui, étant d'autant plus nombreux que les régions le sont elles-mêmes, restent très coûteux en matière de codage du fait qu'ils représentent une part très importante des signaux à coder En outre les signaux ainsi codés présentent une redondance importante puisque le contour d'une région définit en partie le contour de régions voisines. Un premier but de l'invention est donc de proposer un dispositif de codage qui permet une réduction sensible du coût de codage grâce à une très notable diminution du nombre des données de contour à transmettre. A cet effet l'invention concerne un dispositif de codage tel que défini dans le préambule de la description et caractérisé en ce que lesdits moyens de codage de contour comprennent un sous-ensemble de codage d'informations de contour comprenant lui-même: a) des moyens de détection des contours dans l'image à coder; b) des moyens de détection, sur le contour de chaque région successivement considérée, du sens de parcours d'un type de bord de contour déterminé et retenu pour la transmission après codage, et de test, pour chaque couple de points d'image successifs rencontré en parcourant ce contour de chaque région, du sens de déplacement instantané par rapport audit sens de parcours détecté; c) des moyens de codage exclusivement de ceux de ces tronçons qui sont parcourus dans ledit sens de parcours retenu pour la transmission; d) des moyens pour commander l'exécution effective de la procédure mettant en oeuvre les moyens prévus en (a), (b), (c) pour chacune des régions issues de la segmentation. La structure ainsi proposée permet de transmettre les données de contour sans redondance d'information En effet, en ne transmettant, du contour de chaque région, que les bords tournés vers un même côté, par exemple exclusivement les bords gauches, on évite de transmettre deux fois le même fragment de contour à l'occasion du traitement de deux régions adjacentes. Un autre but de l'invention est de proposer un dispositif de décodage apte à décoder les signaux codés émis par un dispositif de codage tel que celui mentionné ci-dessus. A cet effet l'invention concerne un dispositif de décodage de signaux correspondant à des images fixes et préalablement codés à l'aide d'un dispositif de codage comprenant des moyens de segmentation desdites images en régions homogènes auxquelles est attaché un label spécifique et des moyens de codage du contenu et des contours desdites régions, ledit dispositif de décodage comprenant lui-même des moyens de décodage desdits signaux et des moyens de restitution d'images décodées correspondant auxdites images fixes d'origine, caractérisé en qu'il comprend un sous-ensemble de décodage des informations codées relatives aux contours desdites régions, comprenant lui-même: (a) des moyens de décodage respectivement du premier point de chaque fragment de contour transmis et du ou des autres points dudit fragment; (b) des moyens d'écriture en mémoire d'image desdits premier et autres points de chaque fragment de contour transmis, d'identification de chaque fragment par le label de la région correspondante, et de balayage et de remplissage de ladite mémoire d'image par le label courant correspondant à chaque fragment rencontré; (c) des moyens de séquencement pour commander l'exécution effective de la procédure mettant en oeuvre les moyens prévus en (a), (b). Les particularités et avantages de l'invention apparaîtront maintenant de façon plus précise dans la description qui suit et dans les dessins annexés, donnés à titre d'exemples non limitatifs et dans lesquels les figures 1 et 2 montrent des exemples de réalisation respectivement d'un dispositif de codage et d'un dispositif de décodage selon l'invention. Le dispositif de codage représenté sur la figure 1 comprend tout d'abord un sous- ensemble de segmentation 10 subdivisant chaque image de la séquence d'images en régions homogènes La segmentation, qui est ici réalisée selon le procédé dit "split and merge" décrit par exemple dans le document déjà cité, permet de disposer, sur deux sorties S et 52 du sous-ensemble 10, d'une part de données exprimant le contenu des régions, et d'autre part de données de contour, ici sous forme de labels ou étiquettes définissant l'appartenance des points d'image (ou pixels) à telle ou telle région La première sortie 51, qui délivre les données relatives au contenu des régions, est envoyée vers un sous-ensemble 20 de codage des informations de texture de chaque région, tandis que la deuxième sortie 52, qui délivre les données de contour, est envoyée vers un sous-ensemble 30 de codage de ces données. Le sous- ensemble 20 comprend en série une mémoire 21 de stockage des informations de texture et un circuit de codage 22 de ces informations L'exécution effective du codage, ou sa validation, est commandée comme on le verra plus loin par le sous-ensemble 30 Dans le cas o les variations spatiales de luminosité constituant lesdites informations de texture sont exprimées à l'aide de fonctions polynomiales d'ordre peu élevé, lorsque par exemple il est associé à chaque région un polynôme de la forme Z = a + bx + cy qui décrit de la meilleure façon possible les variations du niveau de gris dans cette région et o a, b, c, constituent un jeu de coefficients polynomiaux spécifiques attaché à cette région, le codage est réalisé par exemple en disposant dans le plan représentatif de cette expression Z de trois points non colinéaires d'amplitudes Z 1, Z 2, Z 3 et en codant ces valeurs Z 1, Z 2, Z 3 sur 8 bits. Le sous-ensemble 30 comprend, lui, tout d'abord une mémoire 31 de stockage des labels pour toute l'image considérée Cette mémoire 31 est suivie, en série, de circuits 32 à 35 qui, eux, traitent successivement chacune des régions issues de la segmentation, une réinitialisation (décrite plus loin) permettant de passer du traitement d'une région à celui de la suivante jusqu'à épuisement de toutes les régions de l'image segmentée Ces circuits de traitement de chaque région sont successivement un circuit 32 de détection de contour de région par détection des changements de label (lors d'un balayage quelconque et par exemple ligne par ligne ou colonne par colonne), une mémoire d'image 33 assurant le stockage du contour de région détecté (par exemple en mettant à deux niveaux de luminosité bien distincts les pixels situés sur ce contour et ceux situés partout ailleurs, de part et d'autre du contour), un circuit 34 de suivi de ce contour pour reconstitution de celui-ci, et une mémoire 35 de stockage de la chaîne des coordonnées des pixels concernés appartenant à ce contour. Le sous- ensemble 30 comprend d'autre part un détecteur 41 du sens de parcours du type de bord de contour retenu pour la transmission (ici par exemple du sens de parcours des bords gauches) Ce détecteur 41 recoit la sortie des mémoires 31 et 35 Une fois ce sens de parcours déterminé, un circuit de test 42, situé en sortie du détecteur 41 et qui reçoit également la sortie de la mémoire 35, entre en fonctionnement pour vérifier si, pour chaque couple de pixels successifs rencontré en parcourant le contour, le sens de déplacement instantané est ou non le sens de parcours déterminé par le détecteur 41. Si la réponse est positive (sortie " 1 " du circuit de test 42: le sens de déplacement instantané est effectivement le sens de parcours déterminé par le détecteur 41), ce circuit 42 commande le fonctionnement d'un étage de codage 43 Cet étage 43 distingue lui-même deux situations différentes: le premier pixel du couple de pixels concerné est le premier point d'un fragment de contour pour lequel la réponse du circuit de test redevient positive: ce premier pixel est alors le premier point d'un fragment qui va être codé en continu jusqu'à ce que ladite réponse redevienne négative, et, dans ce cas, le codage de ce premier pixel, et de lui seul, est assuré par un circuit de codage 44 qui reçoit la sortie " 1 " du circuit 42; ce premier pixel du couple concerné n'est pas le premier point dudit fragment, mais fait simplement partie de ce fragment codé en continu: dans ce cas, le codage de ce point (et de tous les points suivants du fragment) est assuré par un circuit de codage 45, qui reçoit également la sortie " 1 " du circuit 42. Dans l'exemple ici décrit, le circuit 44 de codage du premier point d'un fragment délivre, après émission d'un en- tête de fragment codé destiné à être lu au décodage, les coordonnées absolues de ce point, tandis que le circuit 45 de codage des points suivants délivre des informations relatives, définies par rapport auxdites coordonnées absolues, mais cette solution n'est pas la seule solution possible et ne constitue pas une limitation de la présente invention. Si la réponse du circuit de test 42 est ou devient au contraire négative (sortie " O " de ce circuit: le sens de déplacement instantané n'est pas le sens de parcours déterminé par le détecteur 41), ce circuit 42 commande la désactivation du circuit de codage 45 (qui reçoit donc la sortie " O " de ce circuit 42), pour interdire tout codage tant que la réponse du circuit de test n'est pas redevenue positive. Le sous-ensemble 30 comprend aussi un circuit de séquencement 60, commandé par la mémoire 35 (lorsque le dernier point du contour d'une région a été considéré) La sortie de ce circuit 60 assure la validation effective (voir la connexion correspondante sur la figure 1) du codage réalisé par le circuit de codage 22 du sous-ensemble 20 de codage des informations de texture, en synchronisme avec celui réalisé par l'étage de codage 43, puis commande la réinitialisation de toute la procédure ici décrite pour une nouvelle région (et ainsi de suite jusqu'à épuisement de toutes les régions de l'image) Le sous- ensemble 30 comprend enfin un compteur de régions 51, affectant un numéro distinct à chaque nouvelle région successivement traitée pour permettre au décodage de réassocier à chaque contour de région d'image les données qui lui sont propres dans le flot des signaux binaires à décoder. Un multiplexeur 70 reçoit les signaux de sortie des circuits 22, 44, 45 et 51 et délivre la suite de signaux numériques envoyée vers le canal de transmission. Pour résumer, le fonctionnement du dispositif de codage selon l'invention est le suivant Une fois la chaîne de contour déterminée pour une région (chaque région devenant ainsi, successivement, la région courante), on procède sur cette chaîne de contour au repérage d'au moins un pixel situé sur le type de bord de contour retenu pour la transmission, sur un bord gauche par exemple, dans le cas présent Pour ce pixel, on note le sens de parcours du contour, de bas en haut ou de 7. haut en bas dans l'exemple du bord gauche: tous les bords similaires, tous les bords gauches dans l'exemple ci-dessus, doivent alors nécessairement être parcourus dans le même sens. On recommence alors le balayage séquentiel de la chaîne de contour, pixel par pixel, et l'on n'effectue le codage et la transmission que des pixels auxquels correspond un sens de parcours identique au sens de parcours du type de bord retenu pour la transmission. Réciproquement, lorsque des images fixes ont été codées conformément à la description précédente, un dispositif de décodage apte à décoder les signaux codés émis par le dispositif de codage décrit peut être proposé dans le cadre de la présente invention Dans l'exemple de réalisation ici décrit, ce dispositif de décodage, représenté sur la figure 2, comprend tout d'abord un démultiplexeur 110 recevant, après leur transmission, les différents signaux délivrés par le dispositif de codage et destiné à les aiguiller vers les circuits appropriés dudit dispositif de décodage, comme indiqué maintenant. Un sous-ensemble 120 de décodage des informations de texture de chaque région reçoit du démultiplexeur 110 les signaux provenant du sous-ensemble 20, c'est-à-dire, ici, les coefficients polynomiaux codés Ce sous-ensemble 120 comprend en série une mémoire 121 de stockage de ces informations de texture, puis un circuit 122 de synthèse polynomiale et une mémoire d'image 123. Un sous-ensemble 130 de décodage de contours (ces contours constituant une partition ou segmentation d'image telle que celle obtenue et codée conformément à la description précédente) reçoit les autres signaux de sortie du démultiplexeur 110 Dans ce sous-ensemble 130, l'en-tête de fragment codé et les coordonnées absolues du premier point d'un fragment de contour à transmettre, délivrés par le circuit de codage 44, sont reçus par un circuit 144 de décodage du premier point de chaque fragment de contour transmis, tandis que les signaux codés correspondant aux coordonnées des points suivants dudit fragment, délivrés par le circuit de codage 45, sont reçus par un circuit 145 de décodage des autres points du fragment de contour transmis Enfin, un compteur de région 151 reçoit les signaux codés délivrés par le compteur de régions 51 et correspondant aux numéros des régions traitées Le sous- ensemble 130 comprend d'autre part, une mémoire d'image 154, un circuit 155 de balayage et de remplissage de cette mémoire, et un circuit de séquencement 160 pour commander l'exécution effective du traitement de décodage pour chacune des régions issues de la segmentation initiale. Le fonctionnement du dispositif de décodage est le suivant Le numéro de la région courante, donné par le compteur de régions 151, est inscrit dans la mémoire d'image 154, dans une position définie par le flot des signaux décodés Plus précisément, le circuit 144 de décodage du premier point d'un fragement de contour permet d'initialiser ou de mettre à jour, dans cette mémoire 154, la position d'écriture, en vue de l'écriture dudit premier point de fragment de contour Le circuit 145 de décodage des autres points du fragment, commandé par le circuit 144, commande alors l'écriture de ces autres points dans ladite mémoire 154 Une fois que tous les bords retenus pour la transmission, par exemple ici les bords gauches, sont ainsi tracés, on balaye l'image ligne par ligne (de gauche à droite, puis de haut en bas, dans le cas de l'exemple ici décrit), en écrivant le label courant tant qu'un bord gauche n'est pas rencontré, ou le nouveau label concerné quand un bord gauche est traversé On procède de façon similaire à chaque traversée d'un bord gauche au fur et à mesure du balayage, jusqu'à ce que soit restituée toute l'image de labels qui correspond à l'image segmentée d'origine. La sortie de la mémoire d'image 154 est alors envoyée vers une deuxième entrée du circuit 122 de synthèse polynomiale, afin de délimiter, pour chaque région, la zone o s'effectue cette synthèse, et permettre ainsi la restitution, par la mémoire d'image 123, d'une image décodée correspondant aux images fixes d'origine. Bien entendu, la présente invention n'est pas limitée aux exemples de réalisation ci-dessus décrits et représentés, à partir desquels des variantes peuvent être proposées sans pour cela sortir du cadre de l'invention En particulier, on doit préciser que la solution technique ici proposée est applicable quel que soit le type de contour. Par exemple, une précédente demande de brevet français N O 9210757, déposée le 9 septembre 1992 par la société demanderesse, décrit un dispositif de codage dans lequel la chaîne des pixels d'origine du contour est transformée en une chaîne polygonale de segments de contour successifs Plus précisément, ce dispositif considère l'image segmentée à coder, y détecte les différents contours de régions par examen des labels au cours d'un balayage de l'image, puis sélectionne sur le contour de chaque région les points dits triples, o il y a contact entre au moins trois régions, et éventuellement des points de contrôle supplémentaires Le dispositif transforme alors le fragment de contour de forme quelconque qui se trouve entre deux de ces points successifs en un segment de droite qui en constitue une approximation La succession des segments constitue un contour polygonal auquel s'applique la présente invention, de façon d'ailleurs particulièrement avantageuse puisque, les segments étant rectilignes, il suffit d'en coder (et transmettre) les deux extrémités pour pouvoir les restituer au décodage. REVENDICATIONS 1 Dispositif de codage d'images fixes comprenant des moyens de segmentation desdites images en régions homogènes auxquelles est attaché un label spécifique et des moyens de codage du contenu et des contours desdites régions, caractérisé en ce que lesdits moyens de codage de contour comprennent un sous-ensemble de codage d'informations de contour comprenant lui-même: a) des moyens de détection des contours dans l'image à coder; b) des moyens de détection, sur le contour de chaque région successivement considérée, du sens de parcours d'un type de bord de contour déterminé et retenu-pour la transmission après codage, et de test, pour chaque couple de points d'image successifs rencontré en parcourant ce contour de chaque région, du sens de déplacement instantané par rapport audit sens de parcours détecté; c) des moyens de codage exclusivement de ceux de ces tronçons qui sont parcourus dans ledit sens de parcours retenu pour la transmission; d) des moyens pour commander l'exécution effective de la procédure mettant en oeuvre les moyens prévus en (a), (b), (c) pour chacune des régions issues de la segmentation. 2 Dispositif selon la revendication 1, caractérisé en ce que lesdits moyens de codage comprennent un étage de codage comprenant lui-même en parallèle un circuit de codage du premier point desdits tronçons et un circuit de codage du ou des autres points du même tronçon - 3 Dispositif de décodage de signaux correspondant à des images fixes et préalablement codés à l'aide d'un dispositif de codage comprenant des moyens de segmentation desdites images en régions homogènes auxquelles est attaché un label spécifique et des moyens de codage du contenu et des contours desdites régions, ledit dispositif de décodage comprenant lui-même des moyens de décodage desdits signaux et des moyens de restitution d'images décodées correspondant auxdites images fixes d'origine, caractérisé en qu'il comprend il un sous-ensemble de décodage des informations codées relatives aux contours desdites régions, comprenant lui-même: (a) des moyens de décodage respectivement du premier point de chaque fragment de contour transmis et du ou des autres points dudit fragment; (b) des moyens d'écriture en mémoire d'image desdits premier et autres points de chaque fragment de contour transmis, d'identification de chaque fragment par le label de la région correspondante, et de balayage et de remplissage de ladite mémoire d'image par le label courant correspondant à chaque fragment rencontré; (c) des moyens de séquencement pour commander l'exécution effective de la procédure mettant en oeuvre les moyens prévus en (a), (b).