Brevet FR2751773A1 — publié le 19980130

PROCEDE DH COMPRESSION D'IMAGES BINAIRES La présente invention concerne le domaine de la compression des images binaires noir et blanc. L'invention s'applique notamment à des images à forte densité d'objets, telles que des images représentant du texte. Le but de la compression est d'obtenir des fichiers de taille réduite avec une qualité de reconstruction satisfaisante, en vue de la transmission ou du stockage des images. Les méthodes de compression d'images noir et blanc sont nombreuses dans la littérature scientifique. On en trouve deux grandes familles - les méthodes conservatives, pour lesquelles l'image restituée est identique à l'image initiale ; et - les méthodes non conservatives, pour lesquelles on atteint un facteur de compression plus grand au prix de petites altérations sur l'image restituée (détails différents entre l'image décompressée et l'image initiale). Les codages conservatifs, ou réversibles, exploitent la répétition des symboles binaires en enlevant la redondance présente dans le signal (taille de fichier divisée par 2 ou 3 typiquement). Les autres méthodes (non conservatives ou irréversibles) permettent d'obtenir des taux de compression supérieurs en supprimant des éléments haute-fréquence de l'image invisibles à l'oeil. En particulier, la méthode JBIG constitue une référence dans le domaine de la compression d'images binaires, et fournit d'excellentes performances. Cette méthode réversible est basée sur des techniques prédictives et un codage conservatif (le codage arithmétique). Elle est décrite dans la Recommandation T.82 (ISO/CEI CD 11544) de l'organisation Internationale de Normalisation. Un but de la présente invention est de créer une procédure de compression d'images binaires faiblement irréversible qui permette une augmentation significative des taux de compression atteints. L'invention propose ainsi un procédé de compression d'une image binaire d'entrée, dans lequel - on identifie des objets de l'image d'entrée, chaque objet identifié correspondant à une composante connexe d'une première matrice de pixels représentant l'image binaire d'entrée - on sélectionne des prototypes parmi les objets identifiés - on associe à chacun des objets identifiés l'un des prototypes sélectionnés présentant une distance morphologique minimale avec ledit objet - on construit une seconde matrice de pixels, dans laquelle sont juxtaposées des représentations respectives des prototypes sélectionnés ; et - on produit un premier fichier par compression de la seconde matrice de pixels, un second fichier indiquant les positions respectives des objets identifiés dans la première matrice de pixels, et un troisième fichier indiquant les associations entre les objets identifiés et les prototypes. Ce procédé utilise la reconnaissance de formes et la répétition des objets d'une image pour obtenir une méthode de compression des images binaires noir et blanc, pour laquelle les performances excèdent celles des meilleures méthodes connues en termes de taux de compression. La taille du fichier initial peut ainsi être divisée jusqu'à un facteur 100 en utilisant une pré-décimation de l'image. La méthode de compression est faiblement irréversible et peut s'appliquer à des images bruitées. La méthode donne les meilleurs résultats lorsqu'elle s'applique sur des objets dont la surface est suffisante pour bien les caractériser (typiquement une surface d'au moins 200 pixels par objet). Par ailleurs, les performances sont directement liées à la répétition des formes ou objets présents dans l'image. L'invention convient ainsi particulièrement pour la compression d'images à forte proportion de texte. La qualité de l'image restituée après décompression est tout à fait satisfaisante. Le "second fichier" est de préférence produit par compression d'une troisième matrice de pixels dans laquelle la position de chaque objet identifié dans la première matrice de pixels est repérée par au moins un pixel de positionnement respectif, les pixels de positionnement ayant une valeur différente des autres pixels de la troisième matrice. Le codage de la seconde matrice de pixels, et éventuellement de la troisième matrice de pixels, peut être réalisé selon un algorithme de compression conservatif, tel que celui appliqué dans la méthode JBIG précitée. Pour limiter la sensibilité du procédé aux bruits à haute fréquence, et pour optimiser le taux de compression, la première matrice de pixels est de préférence obtenue en appliquant à l'image binaire d'entrée un filtrage passe-bas puis une réduction de résolution. La réduction de résolution réduit en outre la quantité de calculs nécessaire dans les étapes suivantes de reconnaissance et de compression. Un avantage important du procédé selon l'invention est qu'il n'implique pas de connaissance a priori sur la forme des prototypes qui seront retenus. On note toutefois que si, par exemple, des images représentant plusieurs pages successives d'un même texte sont à comprimer successivement, il est possible d'utiliser pour les pages 2 et suivantes des prototypes déterminés pour une ou plusieurs pages précédentes. La sélection des prototypes pour une image peut notamment comporter les étapes /a/ à /g/ ci-après /a/ on associe à chaque objet identifié individuel une classe respective d'objets identifiés telle que chaque objet de ladite classe présente avec ledit objet individuel une distance morphologique inférieure à un seuil prédéterminé /b/ on affecte une première valeur à un paramètre d'état respectif de chacun des objets identifiés /c/ on sélectionne comme prototype un objet identifié dont la classe associée inclut un nombre maximal d'objets /d/ on affecte une seconde valeur au paramètre d'état de chaque objet de la classe du prototype sélectionné à l'étape /c/, et une troisième valeur au paramètre d'état du prototype sélectionné à l'étape /c/ /e/ on sélectionne comme prototype un objet identifié dont le paramètre d'état a ladite première ou ladite seconde valeur et dont la classe associée inclut un nombre maximal d'objets dont le paramètre d'état a ladite première valeur /f/ on affecte ladite seconde valeur au paramètre d'état de chaque objet ne constituant pas un prototype déjà sélectionné et appartenant à la classe du prototype qui vient d'être sélectionné à l'étape /e/, et ladite troisième valeur au paramètre d'état du prototype qui vient d'être sélectionné à l'étape /e/ ; et /g/ on réitère les étapes /e/ et /f/ jusqu'à ce qu'il ne subsiste aucun objet identifié dont le paramètre d'état ait ladite première valeur. Les objets identifiés dans l'image d'entrée sont commodément représentés par des masques de pixels correspondant chacun à une portion rectangulaire de la première matrice de pixels dans laquelle s'inscrit la composante connexe correspondant à l'objet considéré. Pour optimiser le taux de compression, on peut appliquer une réduction de résolution aux masques des prototypes sélectionnés, et inclure ces masques de résolution réduite dans la seconde matrice de pixels pour constituer les représentations des prototypes. D'autres particularités et avantages de la présente invention apparaîtront dans la description ci-après d'exemples de réalisation non limitatifs, en référence aux dessins annexés, dans lesquels - la figure 1 est un schéma synoptique d'un système adapté à la mise en oeuvre de la présente invention - la figure 2 est un organigramme d'une procédure de prétraitement des images mise en oeuvre dans le système de la figure 1 - les figures 3A à 3C sont des schémas illustrant une réduction de résolution 1,5x1,5 - les figures 4A à 4E sont des schémas illustrant l'identification des objets et la construction des masques - la figure 5 est un organigramme d'une procédure de calcul de la distance morphologique entre deux objets - les figures 5A à 5C sont des schémas montrant trois masques pour illustrer des exemples de calcul de distances - la figure 6 est un organigramme d'une procédure de construction de classes mise en oeuvre dans le système de la figure 1 - la figure 7 est un organigramme d'une procédure de choix des représentants mise en oeuvre dans le système de la figure 1 - la figure 8 est un organigramme de la mise à jour des représentants dans la procédure de choix des représentants de la figure 7 - la figure 9 est un organigramme de la mise à jour de tableaux dans la procédure de choix des représentants de la figure 7 - la figure 10 est un organigramme d'une procédure de construction d'une matrice de masques mise en oeuvre dans le système de la figure 1 ; et - la figure 11 est un organigramme d'une procédure de construction d'une matrice de positions mise en oeuvre dans le système de la figure 1. Les images à comprimer sont des images binaires en noir et blanc. L'image d'entrée, délivrée par exemple par un scanner, se présente ainsi comme une matrice de pixels à deux dimensions où chaque pixel peut prendre la valeur 0 (blanc) ou 1 (noir). Cette image d'entrée MO est fournie à un module de prétraitement 10 (figure 1) opérant essentiellement un filtrage passe-bas et une réduction de résolution pour produire une matrice M1 ayant une longueur de LM1 pixels selon une direction x et une hauteur HM1 selon l'autre direction y. Cette matrice M1 est fournie à un module 12 d'identification des objets. Chaque objet considéré dans l'image d'entrée correspond à une composante connexe de la matrice de pixels M1, c'est-à-dire à un ensemble de pixels de valeur 1 liés ensemble. Par définition, un ensemble X de pixels de valeur 1 est connexe si à toute paire de pixels de X on peut faire correspondre un chemin constitué de pixels de X voisins deux à deux et reliant entre eux les deux pixels de la paire. Le voisinage s'entend ici au sens de la 8-connexité : chaque pixel de position x, y dans la matrice admet huit voisins de positions x+8, y+6' avec (6,S')=(1,1),(1,0),(1,-1),(0,-1), (-1,-1) , (-1,0), (-1,1) ou (0,1) Chaque objet identifié par le module 12 est représenté par un masque de pixels. Si la composante connexe correspondant à un objet i a une longueur 1(i) et une hauteur h(i), le masque associé est un rectangle de 1(i) pixels sur h(i) pixels dont les pixels à 1 sont ceux ayant une position identique à la position relative d'un des pixels de ladite composante connexe dans la portion rectangulaire de la matrice M1 dans laquelle s'inscrit cette composante connexe. Le module 12, ayant identifié un nombre N d'objets, fournit les masques correspondants à un module 13 de calcul de distances en lui adressant, pour chaque objet i, sa longueur l(i), sa hauteur h(i), les valeurs Pi(x,y) de ses pixels (lsxsl(i), lsygh(i)), et sa surface s(i)=Pi(x,y) (nombre de pixels noirs). Le module 12 détermine en outre les positions des composantes connexes de la matrice M1, et délivre par exemple les coordonnées a(i), b(i) du coin inférieur gauche du rectangle dans lequel s'inscrit chaque composante connexe i. Les objets sont numérotés de 1 à N selon un ordre déterminé par leurs positions dans la matrice M1, par exemple de bas en haut et de gauche à droite soit, pour lsisN-l, b(i) Un module 14 de construction de classes associe à chaque objet identifié une classe respective d'objets identifiés présentant avec lui une distance morphologique inférieure à un certain seuil SD. Le module 13 se charge du calcul des distances D(i,j) en question. Chaque classe associée à un objet i (lsisN) est caractérisée par son cardinal CC(i) et par les numéros Ci(k) (lsksCC(i)) des objets qui lui appartiennent. Le module 14 fournit en outre, pour chaque objet i, la plus grande DC(i) des distances entre l'objet i et un objet Ci (k) de sa classe DC(i)=max{D(i,Ci(k))/lsksCC(i)}. La relation de distance entre deux objets d'une même classe n'étant pas transitive, les classes n'assurent généralement pas une partition sans recouvrement de l'ensemble des objets. Les classes ne sont donc pas utilisées pour réaliser une partition de l'ensemble des objets, mais pour sélectionner des prototypes parmi les objets identifiés et pour associer chaque objet identifié à l'un des prototypes sélectionnés, chargé de le représenter. Ces opérations sont effectuées par un module 16 de choix des représentants. Les résultats délivrés par le module 16 sont - le nombre CPR de prototypes sélectionnés - les numéros PR(m) des objets constituant les prototypes (lsPR(m)sN pour m=1,2,...,CPR); - le nombre NR(m) d'objets représentés par chaque prototype m=1,2,...,CPR ; et - les numéros RPR(i) des prototypes représentant respectivement les différents objets de l'image (1RPR(i) CPR pour i=1,2,...,N). Le tableau RPR est appelé "tableau des étiquettes". Les prototypes sont de préférence numérotés de m=l à m=CPR dans l'ordre décroissant des nombres d'objets qu'ils représentent : NR(m)2NR(m+l) pour lsm Les données CPR et PR(m) (lsmsCPR) délivrées par le module 16, ainsi que les données l(i), h(i) et Pi(x,y) ( N) délivrées par le module 12, sont fournies à un module 18 qui construit une matrice de masques M2 de longueur LM2 et de hauteur HM2. Cette matrice M2 contient des représentations juxtaposées des prototypes sélectionnés, obtenues à partir de leurs masques. Il s'agira typiquement des masques ayant subi une réduction de résolution. Un module 20 réalise une compression conservative de la matrice M2, par exemple selon la méthode JBIG, pour fournir un premier fichier F1. Les données N et a(i), b(i) (lsisN) délivrées par le module 12, ainsi que les données LM1, HM1 délivrées par le module 10, sont fournies à un module 22 qui construit une matrice de positions M3 de longueur LM3 et de hauteur HM3. Cette matrice M3 a des dimensions inférieures ou égales à celles de la matrice M1. La réduction entre les matrices M1 et M3 est la même que celle appliquée aux prototypes contenus dans la matrice M2. La matrice des positions M3 contient des pixels de positionnement de valeur 1 repérant les positions des objets identifiés, les autres pixels étant de valeur 0. Chaque pixel de position repère par exemple la position du coin inférieur gauche d'un masque, déduite des données a(i), b(i). Un module 24 réalise une compression conservative de la matrice M3, par exemple selon la méthode JBIG, pour fournir un second fichier F2. Pour associer chaque position d'objet repérée dans la matrice M3 à un prototype représenté dans la matrice M2, un module 26 construit un fichier d'étiquettes F3 par codage arithmétique conservatif du tableau des étiquettes RPR. Les méthodes de codage arithmétique sont bien connues dans les techniques de compression de données. A cet égard, on pourra par exemple consulter l'article "Arithmetic Coding for Data Compression" de I. Witten et al, Communications of the ACM, Vol. 30, 1987, pages 520-539. Le fichier d'étiquettes F3 contient en outre un en-tête incluant - les dimensions LM2, HM2 de la matrice des masques M2 fournies par le module 18 - les dimensions LM3, HM3 de la matrice des positions M3 fournies par le module 22 - le nombre N d'objets de l'image fourni par le module 12 - le nombre CPR de prototypes et les données d'histogramme NR(m) fournis par le module 16. Les données d'histogramme NR(m) sont nécessaires au décodage du fichier compressé F3 pour retrouver le tableau des étiquettes RPR. La place occupée par les données d'histogramme est compensée par le fait que chaque numéro de prototype RPR(i) est ensuite codé arithmétiquement sur le minimum d'espace. Le fait de numéroter les prototypes suivant l'ordre décroissant du nombre d'occurrences permet de limiter (à typiquement une quinzaine d'octets) la place requise pour la sauvegarde des données d'histogramme. Les fichiers F1, F2 et F3 constituent la sortie du système de compression représenté sur la figure 1. Pour reconstruire l'image, un système de décompression opère la décompression JBIG des fichiers F1 et F2, et le décodage arithmétique du fichier d'étiquettes F3, pour retrouver les matrices M2 et M3 et le tableau des étiquettes RPR. Le système de décompression balaie alors les pixels de la matrice des positions M3 dans l'ordre prédéterminé suivant lequel le système de compression a numéroté les objets (de bas en haut et de gauche à droite dans l'exemple évoqué précédemment). A chaque pixel noir rencontré lors de ce balayage, on localise le coin inférieur gauche d'un objet i, on lit le numéro RPR(i) du prototype associé dans le fichier F3 décodé, et on place par rapport au pixel localisé la représentation du prototype extraite de la matrice des masques M2. A la fin du balayage, le système de décompression a reconstruit une image de longueur LM3 et de hauteur HM3 qui peut ensuite être agrandie si nécessaire. Les rapports de réduction de résolution, ou rapports de décimation, entre cette image reconstruite et l'image d'entrée MO (Rx selon la direction x et Ry selon la direction y) sont donnés par les produits entre les rapports Rlx, Rîy appliqués par le module de prétraitement 10 pour construire la matrice M1 et les rapports R2x, R2y appliqués par les modules 18 et 22 pour réduire la résolution des masques et pour construire la matrice de positions M3 : Rx=Rlx.R2x et Ry=Rly.R2y avec O Le but principal de la réduction de résolution appliquée par le module de prétraitement 10 est de limiter la complexité des calculs à exécuter par les modules 12, 14 et 16 du système de compression. Les rapports Rlx, Rly ne doivent néanmoins pas être trop bas afin de préserver la séparation des composantes connexes de la matrice M1. Ces rapports seront typiquement choisis de façon que la matrice M1 présente une résolution de 100 à 150 points par pouce (dpi). On pourra ainsi choisir Rlx=Rly=2/3 dans le cas d'une image d'entrée de résolution 200 dpi (valeur typique pour une image représentant du texte), conduisant à une résolution de 133 dpi pour la matrice M1. La qualité de l'image reconstruite dépend de la résolution de l'image d'entrée MO et du facteur de décimation global p = l/(Rx.Ry). Pour une image d'entrée de résolution 200 dpi, on a trouvé que le facteur de décimation devait être au plus égal à 17 (soit R2x=R2y=4/ll si Rlx=Rly=2/3). Un facteur de décimation global de 9 (R2x=R2y=î/2 pour Rlx=Rly=2/3) conduit à une image reconstruite d'excellente qualité. En pratique, les rapports R2x,R2y appliqués par les modules 18 et 22 sont ajustés en fonction des valeurs des rapports Rlx, Rly et du compromis recherché entre la taille des fichiers à sauvegarder et la qualité de l'image reconstruite. Matériellement, les systèmes de compression et de décompression dont les grandes lignes viennent d'être indiquées peuvent être réalisés par programmation d'un processeur adéquat. Les modules décrits sont alors des modules logiciels. Ils pourraient toutefois être des modules matériels si le système était réalisé sous forme d'un circuit spécifique à l'application. La figure 2 montre un organigramme des opérations effectuées par le module de prétraitement 10. Ces opérations sont essentiellement un filtrage passe-bas (étapes 30 à 34) suivi par une réduction de résolution (étape 35). Comme il est usuel dans le domaine de l'analyse morphologique d'image, le filtrage passe-bas est une opération de type ouverture euclidienne : l'image d'entrée est d'abord amincie avant de subir une dilatation euclidienne 34. Avantageusement, l'amincissement ne procède pas par une simple érosion euclidienne de l'image d'entrée, mais par plusieurs érosions 30-32 au moyen d'éléments structurants différents, suivies par une union des érosions 33. On rappelle les définitions de l'érosion euclidienne et de la dilatation euclidienne (voir M. Coster et J.L. Chermant : "Précis d'Analyse d'Images l!, Editions du CNRS, 1985). Soit B un élément structurant consistant en un motif de pixels donné ayant un pixel de référence généralement situé à son centre géométrique. Pour chaque pixel z de l'image, on note Bz l'objet correspondant à l'élément structurant B translaté de façon que son pixel de référence, coïncide avec le pixel z. L'érosion euclidienne d'un sousensemble Z de l'image (l'ensemble des pixels noirs) par l'élément structurant B est l'ensemble des pixels z tels que l'objet Bz soit totalement inclus dans Z. De façon duale, la dilatation euclidienne d'un sous-ensemble Z de l'image par l'élément structurant B est l'ensemble des pixels z tels que l'objet Bz ait une intersection non vide avec Z. Dans l'exemple représenté sur la figure 2, trois images érodées différentes sont déterminées par des érosions de l'image d'entrée MO avec des éléments structurants en forme de carré 3x3 (C3), de trait horizontal 5x1 (H5) et de trait vertical 1x5 (VS), comme indiqué dans les blocs 30, 31 et 32. A l'étape 33, le module 10 réalise l'union de ces trois images érodées pour obtenir une image amincie. La dilatation euclidienne 34 est ensuite opérée sur cette image amincie en utilisant un élément structurant consistant par exemple en un carré 3x3 (C3). Le choix indiqué pour les éléments structurants convient pour des images de texte pouvant présenter en outre des traits plus fins que les lettres. D'autres choix seraient bien entendu possibles selon le type d'image. L'érosion 30 au moyen du carré 3x3 peut être une simple érosion euclidienne. Mais les érosions 31, 32 utilisant les éléments H5 et V5 sont de préférence des érosions euclidiennes combinées à des filtrages morphologiques destinés à supprimer les traits horizontaux ou verticaux de l'image ayant une épaisseur de 3 pixels ou plus. Ces traits d'épaisseur 3 pixels ou plus sont amincis à l'issue de l'érosion 30 par l'élément C3, et retrouvent leur épaisseur du fait de la dilatation 34. Les filtrages des étapes 31 et 32 évitent que ces traits de l'image d'épaisseur 3 pixels ou plus se retrouvent épaissis dans l'image filtrée passe-bas, ce qui pourrait altérer des structures de l'image comportant de tels traits. Ainsi, les étapes 31 et 32 ne laissent passer que les traits horizontaux ou verticaux d'épaisseur 1 ou 2 pixels qui, après la dilatation, auront une épaisseur de 3 pixels. Si on note EB l'image produite par érosion euclidienne au moyen d'un élément structurant B, H5 l'élément structurant : 11111, H5' l'élément structurant : 11111 11111, H5" l'élément structurant : 11111 11111 11111, où le pixel souligné est le pixel de référence de l'élément structurant, alors le résultat de l'érosion 31 est EH5e Sup(EHS',EHS"), où Sup désigne l'opération logique OU, et e l'opération OU EXCLUSIF. De même, le résultat de l'érosion 32 est EV5# Sup(EV5',EV5"), où V5, V5' et V5" correspondent respectivement aux éléments H5, H5' et H5" n pivotés de 900. L'image filtrée obtenue à l'étape 34, correspondant à Sup(FC3 EH5 Sup(EH5'lEH5 ,EHS"), EV5e Sup(EV5 ,EVS") Y dilatée par l'élément C3, subit une réduction de résolution à l'étape 35, avec des rapports de réduction Rlx=Rîy=2/3, ce qui conduit à la matrice M1. Pour réaliser une réduction de résolution dans des rapports (p/q)x(p' /q'), on peut notamment utiliser la méthode classique de réduction de résolution par la médiane. L'image à réduire est découpée en blocs de longueur q et de hauteur q', comme illustré par le bloc représenté à titre d'exemple sur la figure 3A dans un cas où p=p'=2 et q=q'=3. Chaque bloc qxq' est agrandi par répétition de ses lignes et/ou de ses colonnes pour obtenir un bloc zoomé de longueur ppcm(p,q) et de hauteur ppcm(p',q') (figure 3B). Chaque bloc zoomé est ensuite subdivisé en pxp' zones rectangulaires associées chacune à un pixel de position correspondante dans l'image réduite. Un seuil de décision est choisi pour attribuer une valeur à chaque pixel de l'image réduite : lorsque sa zone rectangulaire associée dans le bloc zoomé contient une proportion de pixels noirs supérieure ou égale au seuil, la valeur 1 (noir) est attribuée au pixel de l'image réduite, comme illustré par la figure 3C dans le cas typique d'un seuil de décision de 50% (réduction par la médiane). Pour un seuil différent de 50%, on parle de filtrage adaptatif. Les figures 4A à 4C illustrent dans un cas particulier les opérations effectuées par le module 12 d'identification des objets. On considère la matrice de pixels M1 représentée sur la figure 4A. La première étape consiste en l'étiquetage des composantes 8-connexes (figure 4B), selon un algorithme connu tel que celui décrit dans l'ouvrage "Géométrie Discrète en Analyse d'Image" de J.M. Chassery et A. Montanvert, Editions Hermès, 1991. Chaque pixel d'une composante ainsi étiquetée porte un même numéro correspondant à un indice d'entrée dans un tableau de zones. Ces zones sont des structures définissant les masques des différents objets : longueur l(i), hauteur h(i) et valeurs Pi(x,y) des pixels de la composante connexe (lsxsl(i), lsysh(i)). Le module calcule en outre les surfaces s(i) (nombres de pixels) des composantes connexes, et les coordonnées a(i), b(i) des coins inférieurs gauches des masques. Comme indiqué précédemment, la numérotation des objets i=l,2,... ,N suit un ordre déterminé selon les positions des coins inférieurs gauches de leurs masques associés dans la matrice M1 (par exemple de bas en haut et de gauche à droite). Les figures 4C à 4E montrent les trois masques trouvés dans le cas particulier de la figure 4A, avec les données associées s(i), h(i), l(i), a(i) et b(i). La figure 5 montre un organigramme d'une procédure que peut mettre en oeuvre le module 13 pour calculer la distance D(i,j) entre deux objets i et j. Cette procédure est appliquée pour chaque couple d'objets i, j tel que lsi Ce test 60 consiste à déterminer si l'écart de longueur l= l(i)-l(j) dépasse un seuil S1, si l'écart de hauteur h=lh(i)-h(j) I dépasse un seuil Sh, si le rapport de surfaces smax/smin= max{s(i),s(j)}/min{s(i),s(j)} dépasse un seuil S et Si le rapport des rapports de forme Rfmax/Rfmin=max{h(i)/l(i),h(j)/l(j)Y/min{h(i)/l(i),h(j)/l(j)} dépasse un seuil SRf. Si l'une au moins de ces quatre conditions est remplie, la distance D(i,j) est prise égale à une valeur arbitrairement grande (supérieure au seuil de distance SD) à l'étape 61, les deux objets étant considérés comme très différents l'un de l'autre. A titre d'exemple, les valeurs des quatre seuils utilisés pour le test 60 peuvent être Sl=Sh=3, Ss=1,3, SRf=1,5. Pour les couples d'objets i, j non écartés par le test 60, le module 13 procède au calcul explicite de la distance morphologique D(i,j). Cette distance est définie comme étant proportionnelle au rapport entre une différence minimale APmin et un surface minimale smin. La surface minimale 5min correspond à la plus petite des deux surfaces s(i), s(j) des deux objets considérés. La différence minimale est le plus petit nombre de pixels de valeurs différentes entre les masques respectifs des deux objets lorsqu'on translate ces masques l'un par rapport à l'autre de nombres entiers de pixels suivant les directions x et y. Pour limiter les calculs, ces translations sont limitées à des décalages de +Tx pixels suivant la direction x et +Ty pixels suivant la direction y. Les valeurs TX=Ty=2t requérant le calcul de 25 différences de matrices, sont généralement suffi décalage Ax est incrémenté d'une unité à l'étape 70 avant que le module 13 réinitialise le décalage Ay à l'étape 63. Lorsque le test 69 montre que Ax=Tx, toutes les translations possibles ont été essayées, et la distance D(i,j) est calculée, par exemple selon à l'étape 71. Etant donné que les objets pour lesquels les substitutions sont les plus fréquentes sont ceux présentant des rapports de forme h(i)/l(i) relativement élevés (confusions fréquentes entres les lettres f et t ou encore entre la lettre 1 et le chiffre 1), on peut décider de majorer la distance D(i,j) entre les objets i et j lorsque les deux rapports de forme h(i)/l(i) et h(j)/l(j) sont supérieurs à un seuil S'Rf (test 72). Cette majoration 73 consiste par exemple à multiplier la distance D(i,j) calculée à l'étape 71 par un coefficient a plus grand que 1. Dans le cas particulier des objets dont les masques sont représentés sur les figures 5A et 5B, la différence minimale est APmin=8 (pour Ax=0 et hy=l), et la surface minimale 5min=8 (objet de la figure 5A), de sorte que la distance morphologique est D(i,j)=100. Dans le cas des objets dont les masques sont respectivement représentés sur les figures 5B et 5C, la distance morphologique est D(i,j)=100.1/10=10. La figure 6 montre un exemple d'organigramme des opérations effectuées par le module 14 de construction des classes. A l'étape d'initialisation 40, chacun des objets identifiés i est affecté comme premier élément Ci(l) de sa classe associée, le tableau CC donnant les cardinaux des classes est initialisé à 1 pour tout i, et le tableau DC donnant pour tout objet i la plus grande des distances qu'il présente avec les objets de sa classe est initialisé à 0. Le module 14 effectue ensuite une double boucle sur les objets identifiés pour construire les classes. Cette double boucle est initialisée par i=l à l'étape 41. Chaque itération dans la boucle extérieure est initialisée par j=i+l à l'étape 42. A l'étape 43, le numéro j est comparé au nombre N d'objets identifiés dans l'image. Si jsN, le module 14 compare la distance D(i,j) entre les objets i et j, qui a été calculée par le module 13, au seuil de distance SD à l'étape 45. Si D(i,j) > SD, l'objet j n'appartient pas à la classe de l'objet i, et le numéro j est incrémenté d'une unité à l'étape 46 avant de réexécuter le test 43. Si l'objet j appartient à la classe de l'objet i, (D(i,j)sSD au test 45), le module 14 procède à la mise à jour 47 des tableaux CC, Ci et Cj. Les cardinaux CC(i) et CC(j) des classes associées aux objets i et j sont incrémentés d'une unité. Le numéro j est affecté à l'entrée de rang CC(i) du tableau Ci. Le numéro i est affecté à l'entrée de rang CC(j) du tableau Cj. Pour mettre à jour le tableau DC des distances maximales, le module 14 compare la distance entre les objets i et j aux nombres DC(i) et DC(j) (tests 48 et 49). Si D(i,j) > DC(i), l'entrée de rang i du tableau DC est mise à jour avec la distance D(i,j) (étape 50). De même, si D(i,j) > DC(j), l'entrée de rang j du tableau DC est mise à jour avec la distance D(i,j) (étape 51). Après avoir procédé aux mises à jour, le module 14 incrémente le numéro j à l'étape 46 puis réexécute le test 43. Lorsque le test 43 montre que j > N, le numéro d'objet i est incrémenté d'une unité à l'étape 52, puis comparé au nombre total d'objets N à l'étape 53. Si le test 53 montre que i Le choix du seuil de distance SD utilisé pour construire les classes résulte d'un compromis entre le taux de compression et la qualité de l'image reconstruite. Une diminution de la valeur de ce seuil tend à augmenter le nombres des prototypes sélectionnés et donc la taille du fichier F1. Une valeur trop élevée du seuil de distance SD risque au contraire de faire représenter certains objets par de mauvais prototypes. On a déterminé qu'un bon compromis était obtenu avec un seuil SD de l'ordre de 27 avec le mode de calcul illustré par la figure 6. On peut adopter cette valeur par défaut tout en laissant à l'utilisateur la possibilité de le régler. La procédure de choix des représentants mise en oeuvre par le module 16 est par exemple conforme à l'organigramme représenté sur les figures 7 à 9. I1 s'agit d'une procédure itérative dans laquelle chaque itération comporte une phase 80 de sélection d'un prototype, une phase 90 de mise à jour des représentants, et une phase 100 de mise à jour de tableaux de variables intermédiaires. Pour sélectionner les prototypes, chaque objet i de l'image ( N) est associé, en plus des paramètres CC(i) et Ci (k) fournis par le module 14 de construction des classes, aux paramètres suivants - paramètre d'état, ou statut, E(i) valant 2 pour un objet déjà sélectionné en tant que prototype, 1 pour un objet appartenant à la classe d'un prototype déjà sélectionné sans être lui-même un prototype déjà sélectionné, et 0 pour un objet n'ayant aucun prototype déjà sélectionné dans sa classe - nombre CO(i) d'objets de statut 0 dans la classe de l'objet i ; et - paramètre de distance DC (i) correspondant à la plus grande des distances entre l'objet i et les objets de statut O de sa classe : DC(i)=max{D(i,Ci(k))/lsk Les valeurs de CO(i) et DC(i) sont indifférentes pour les objets i de statut 2. Par ailleurs, pour chaque objet i de statut 1, la quantité DM(i) désigne la distance minimale entre l'objet i et un objet de statut 2. CPR désigne le nombre de prototypes déjà sélectionné et NO le nombre d'objets de statut 0. A l'initialisation 79 de la procédure de choix des représentants (figure 7), les paramètres d'états E(i) sont pris égaux à O, et le tableau CO égal au tableau CC des cardinaux des classes. Les nombres CPR et NO sont respectivement initialisés à O et à N. Dans chaque itération, la phase 80 consiste à sélectionner comme prototype un objet de statut 0 ou 1 ayant un nombre maximal d'objets de statut 0 dans sa classe. Si ce maximum est atteint pour plusieurs objets sélectionnables, on sélectionne celui pour lequel la plus grande distance DC(i) avec un élément de statut 0 de sa classe est minimale. En cas de nouvelle égalité entre plusieurs objets sélectionnables, on retient l'objet sélectionnable ayant par exemple le plus petit numéro. La phase de sélection 80 illustrée sur la figure 7 commence ainsi par l'initialisation 81 d'une variable COmax à 0 et d'une variable DCmin à une valeur arbitrairement grande (supérieure au seuil SD). Le numéro d'objet i est également initialisé à 1. Le test 82 est effectué pour exclure les objets i de statut 2. Si E(i)*2, le nombre CO(i) d'objets de statut 0 dans la classe de l'objet i est comparé à Comas (test 83). Si CO(i) > COmax, l'étape de mise à jour 84 est effectuée pour prendre l'entier j égal au numéro d'objet i et pour substituer les valeurs CO(i) et DC(i) aux précédentes valeurs des variables Comas et DCmin z . Cette étape de mise à jour 84 est également effectuée si, après que le test 83 a montré que CO (i) COmax, les tests 85 et 86 montrent respectivement que CO(i)=COmax et DC(i) La variable CPR est alors incrémentée d'une unité et l'entier j est affecté à l'entrée de rang CPR d'un tableau PR de désignation des prototypes (étape 89), ce qui termine la phase de sélection 80. Le module 16 procède ensuite à la mise à jour 90 des représentants sur la base du prototype j qui vient d'être sélectionné (figure 8). Au début de cette phase 90 (étape 91), la variable NO est diminuée d'une unité si le prototype sélectionné j est un objet de statut 0, et maintenue inchangée si ce prototype est de statut 1. Le statut de l'objet j est ensuite mis à jour : E(j)=2. L'entrée j d'un tableau RPR de désignation des représentants est prise égale à la variable CPR, pour indiquer que l'objet j sera son propre représentant en tant que CPR-ième entrée du tableau des prototypes PR. L'indice k est en outre pris égal à 2 pour l'initialisation de la boucle suivante. Chaque itération dans cette boucle commence par la comparaison 92 de l'indice k au cardinal CC(j) de la classe de l'objet j. Si kCC(j), le test 93 est effectué pour déterminer si le k-ième objet de la classe Cj de l'objet j est de statut 0. Dans l'affirmative (E(Cj (k) =O) , la variable NO est diminuée d'une unité à l'étape 94, et le statut du k-ième objet de la classe Cj est mis à jour : E(Cj(k))=l. A l'étape 95, le module 16 désigne ensuite par la variable CPR le rang dans le tableau PR du prototype représentant l'objet Cj(k) : RPR(Cj(k))=CPR, et il affecte la distance D(jrCj(k)) entre les objets j et Cj(k) à la quantité DM(Cj(k)). Si le test 93 montre que l'objet Cj(k) n'est pas de statut 0, un autre test 96 est effectué pour déterminer si cet objet est de statut 1. Si E(Cj(k))=l, un test supplémentaire 97 est effectué pour comparer la distance D(j,Cj(k)) entre les objets j et Cj(k) à la quantité DM(Cj (k)) désignant la distance entre l'objet Cj (k) et le prototype qui le représentait avant l'itération courante. Si D( j,Cj(k)) DM. Après l'étape de mise à jour 95, ou si les tests 96, 97 montrent que E(Cj(k))=2 ou D(j, Cj(k)) 2DM (Cj(k)), on incrémente l'indice k d'une unité à l'étape 98 avant de commencer l'itération suivante par le test 92. Quand le test 92 montre que k > CC(j), les données pertinentes concernant la représentation de tous les objets de la classe du prototype venant d'être sélectionné ont été mises à jour. Après la phase 90 de mise à jour des représentants, le module 16 examine, dans un test 99 s'il subsiste des objets non représentés (statut O). Si NO > O, un ou plusieurs objets restent sans représentant. Le module 16 procède alors à la mise à jour 100 des tableaux CO et DC avant de revenir à l'étape 81 pour l'itération suivante dans la boucle de sélection. La figure 9 montre un exemple de déroulement de la phase 100 de mise à jour des tableaux C0 et DC. Pour chaque objet p (1pN), la classe C p est balayée pour compter le nombre CO(p) d'objets de statut 0 et déterminer la plus grande distance DC(p) entre l'objet p et les objets de statut O de sa classe. La boucle sur les objets p est initialisée par p=l à l'étape 101. Chaque itération dans cette boucle commence par un test 102 destiné à écarter les objets p de statut 2 qui, de toutes façons, seront ignorés dans les phases de sélection ultérieures 80. Si E(p)=O ou 1, la classe de l'objet p est balayée. Le balayage est initialisé à l'étape 103 en mettant à zéro deux variables temporaires CCO et DDC, et en prenant l'indice q égal à 1. Si l'objet Cp(q) est de statut 0 (test 104), la variable CCO est augmentée d'une unité (étape 105), puis une comparaison 106 est effectuée entre la distance D(p,Cp(q)) entre les objets p et Cp(q) à la variable DDC. Si la comparaison 106 montre que D(p,Cp(q)) > DDc/ la distance D(p,Cp(q)) est substituée à la valeur précédente de la variable DDC à l'étape 107. Après examen 104-107 du q-ième objet de la classe Cp une comparaison 108 est effectuée entre l'indice q et le cardinal CC(p) de la classe Cp. Si q DC sont respectivement mises à jour avec les valeurs des variables CCO et DDC à l'étape 110. Si p En référence à la figure 7, lorsque le test 99 montre que NO=0, un prototype PR(RPR(i)) est associé à chacun des objets i. Ce prototype est celui qui, dans le tableau PR des prototypes sélectionnés, présente la distance morphologique minimale avec l'objet considéré. Le module 16 procède finalement à l'ordonnancement 115 des représentants. Dans cette étape 115, le tableau des prototypes PR est réordonné de façon que chaque prototype de rang m (lsm La procédure de construction de la matrice des masques mise en oeuvre par le module 18 est par exemple conforme à l'organigramme représenté sur la figure 10. Une réduction de résolution est appliquée aux masques PPR(m) (x,y) des prototypes sélectionnés, et les masques réduits sont placés les uns à côté des autres pour former la matrice rectangulaire M2. Dans cette matrice M2, les masques réduits des prototypes sont par exemple juxtaposés de la gauche vers la droite, avec insertion d'une colonne de pixels blancs entre chaque paire de masques successifs. Cette colonne de pixels blancs permettra au système de décompression de récupérer les masques, dans l'ordre de leur numérotation, par identification de composantes 8-connexes. On note L et H la longueur et la hauteur de la matrice rectangulaire M2. A l'initialisation 120 de la procédure de construction de la matrice des masques, les dimensions L et H sont prises égales à 0, et l'indice m du prototype est pris égal à 1. A l'étape 121, le module 18 calcule la longueur 1' et la hauteur h' du masque réduit du prototype de rang m : l'=Fl(PR(m)).R2Çi, h'=rh(PR(m)).R2yl, où rAl désigne l'entier égal ou immédiatement supérieur au nombre A. La réduction de résolution du masque du prototype PR(m) est effectuée à l'étape 122, par exemple selon la méthode de réduction de résolution par la médiane précédemment exposée. Le test 123 consiste à déterminer si la hauteur h du masque réduit du prototype de rang m est supérieure à la hauteur courante H de la matrice N2. Si h' > H, des pixels blancs sont introduits dans la matrice M2 aux positions (x,y) telles que lsx H est mise à jour selon H=h'(étape 125), et le module 18 passe à l'étape 126. Si le test 123 montre que h'sH, ces deux hauteurs sont encore comparées lors du test 127 pour déterminer si elles sont égales. Si h'= H, le module 18 passe directement à l'étape 126. Sinon, l'étape 128 est d'abord effectuée pour combler avec des blancs les pixels de la matrice M2 situés au-dessus du masque réduit du prototype PR(m). L'étape 126 est celle où les pixels P' (x,y) du masque réduit du prototype PR(m) sont introduits dans la matrice M2 : M2(L+x,y)=P'(x,y) pour lsxsl' et lsysh'. La longueur L de la matrice M2 est ensuite mise à jour à l'étape 129 : L=L+l'. Une comparaison 130 est effectuée entre l'indice m et le nombre CPR de prototypes. Si m L est augmentée d'une unité à l'étape 132 pour tenir compte de la colonne de blancs ajoutée. Après l'étape 132, on incrémente l'indice m d'une unité à l'étape 133 avant de revenir à l'étape 121 pour le traitement du prototype suivant. La construction de la matrice intermédiaire M2 est terminée lorsque la comparaison 130 montre que m=CPR. La construction de la matrice des positions M3 est une simple opération d'homothétie sur la matrice M1 avec repérage des coins inférieurs gauches a(i), b(i) des objets. Cette procédure est par exemple conforme à l'organigramme de la figure 11. Les dimensions LM3, HM3 de la matrice des positions sont d'abord obtenues à l'étape 140 en fonction de celles de la matrice M1 et des rapports de réduction retenus : LM3=rLMl.R2Xl, HM3=rHM1.R2 A A l'étape 141, la matrice M3 est remplie de pixels blancs. Une boucle, initialisée par i=l à l'étape 142, est ensuite effectuée pour introduire les pixels noirs de positionnement dans la matrice M3. Tant que i il va de soi que les organigrammes présentés à titre d'exemple sur les figures 5 à 11 peuvent faire l'objet de variations ou d'optimisations, notamment en fonction du langage de programmation utilisé et/ou des caractéristiques du composant physique employé (processeur d'usage général ou circuit spécialisé). Les inventeurs ont expérimenté le procédé en utilisant des images bruitées (type télécopie) représentant du texte (avec différentes polices de caractères) et/ou du graphique (dessins, tableaux, cadres...). Les résultats obtenus ont été comparés avec ceux de la méthode JBIG appliquée avec les mêmes facteurs de décimation globaux p (compris entre 9 et 17) mais sans le processus préalable de reconnaissance d'objets. Ces comparaisons montrent que la taille des fichiers sauvegardés selon l'invention est généralement de l'ordre de 25% inférieure à celle obtenue par la méthode JBIG, les images reconstruites étant de qualité comparable dans les deux cas. Si l'utilisateur désire une qualité d'image maximale, la compression peut s'effectuer sur l'image à haute résolution (pas de décimation). Le gain procuré selon l'invention sur la taille des fichiers est alors encore plus sensible (de l'ordre de 45% inférieure à celle obtenue par la méthode JBIG). On note que les rapports de réduction de résolution Rîx, Rlyl R2x, R2y peuvent être réglables. Une autre comparaison montre que le procédé selon l'invention est plus performant que la méthode JBIG à la fois en termes de compression et en termes de qualité d'image restituée. Ainsi les fichiers compressés obtenus par le procédé selon l'invention après une décimation de p=11,4 (Rlx=Rîy=2 /3, R2x=R2y=4/9) sont de taille inférieure (9% en moyenne) à ceux créés par JBIG avec une décimation de p=16. Le gain en compression par rapport à la méthode JBIG est d'autant plus sensible que la résolution stockée est grande. De plus, les performances en compression sont plus stables pour le procédé que pour JBIG (l'écart type des tailles de fichiers obtenues pour diverses images est plus petit). D'une manière générale, l'amélioration en compression par rapport à la méthode JBIG est d'autant plus importante que la proportion de texte dans l'image augmente. En effet, la reconnaissance d'objets sera efficace sur les objets se répétant souvent, ce qui est caractéristique des lettres dans un texte. Pour une taille de fichier compressé donnée, la compression selon l'invention permet de sauvegarder une image de plus haute résolution que la compression par JBIG (environ 43% de points en plus). Ce gain en qualité d'image a certes pour contrepartie un risque de substitutions erronées, mais ce risque est très faible si le seuil de distance est convenablement choisi. L'invention permet ainsi de réduire un fichier de 500 Koctets à 4 Koctets avec une qualité de restitution d'image tout à fait satisfaisante (décimation p=14, soit Rlx=Rly=2/3 et R2X=R2y=2/5l pour une image initiale de 200 dpi). I1 est clair que pour une résolution de départ comprise entre 100 et 200 dpi, la réduction est moindre, mais la compression par reconnaissance d'objets reste avantageusement applicable. REVENDICATIONS 1. Procédé de compression d'une image binaire dentree, caractérisé en ce que - on identifie des objets de l'image d'entrée (MO), chaque objet identifié correspondant à une composante connexe d'une première matrice de pixels (M1) représentant l'image binaire d'entrée - on sélectionne des prototypes (PR(m)) parmi les objets identifiés - on associe à chacun des objets identifiés l'un des prototypes sélectionnés présentant une distance morphologique minimale avec ledit objet - on construit une seconde matrice de pixels (M2), dans laquelle sont juxtaposées des représentations respectives des prototypes sélectionnés ; et - on produit un premier fichier (F1) par compression de la seconde matrice de pixels (M2), un second fichier (F2) indiquant les positions respectives des objets identifiés dans la première matrice de pixels (M1), et un troisième fichier (F3) indiquant les associations entre les objets identifiés et les prototypes. 2. Procédé selon la revendication 1, caractérisé en ce qu'on produit ledit premier fichier (F1) par compression conservative de la seconde matrice de pixels (M2). 3. Procédé selon la revendication 1 ou 2, caractérisé en ce que ledit second fichier (F2) est produit par compression d'une troisième matrice de pixels (M3) dans laquelle la position de chaque objet identifié dans la première matrice de pixels (M1) est repérée par au moins un pixel de positionnement respectif, les pixels de positionnement ayant une valeur différente des autres pixels de la troisième matrice. 4. Procédé selon la revendication 3, caractérisé en ce que la troisième matrice de pixels (M3) a des dimensions (LM3, HM3) inférieures à celles (LM1, HM1) de la première matrice de pixels (N1). 5. Procédé selon la revendication 3 ou 4, caractérisé en ce qu'on produit ledit second fichier (F2) par compression conservative de la troisième matrice de pixels (M3). 6. Procédé selon l'une quelconque des revendications 3 à 5, caractérisé en ce qu'on inclut dans ledit troisième fichier (F3) des données indiquant les dimensions (LM3, HM3) de la troisième matrice de pixels (M3). 7. Procédé selon l'une quelconque des revendications 1 à 6, caractérisé en ce que la première matrice de pixels (M1) est obtenue en appliquant à l'image binaire d'entrée un filtrage passe-bas (30-34) puis une réduction de résolution (35). 8. Procédé selon la revendication 7, caractérisé en ce que ladite réduction de résolution est telle que la résolution de la première matrice de pixels (Ml) soit comprise entre 100 et 150 points par pouce. 9. Procédé selon l'une quelconque des revendications 1 à 8, caractérisé en ce que l'obtention de la première matrice de pixels (M1) inclut une opération de filtrage passe-bas de l'image binaire d'entrée (MO) qui comporte les étapes suivantes - obtention de plusieurs images érodées par érosion morphologique de l'image binaire d'entrée au moyen d'éléments structurants différents - obtention d'une image amincie par union des images érodées ; et - obtention de l'image filtrée par dilatation morphologique de l'image amincie. 10. Procédé selon l'une quelconque des revendications 1 à 9, caractérisé en ce que la sélection des prototypes comporte les étapes suivantes /a/ on associe à chaque objet identifié individuel une classe respective d'objets identifiés (Ci(k)) telle que chaque objet de ladite classe présente avec ledit objet individuel une distance morphologique inférieure à un seuil prédéterminé (SD) ; /b/ on affecte une première valeur (0) à un paramètre d'état respectif (E(i)) de chacun des objets identifiés /cl on sélectionne comme prototype un objet identifié dont la classe associée inclut un nombre maximal d'objets /d/ on affecte une seconde valeur (1) au paramètre d'état (E(Cj(k)) de chaque objet de la classe du prototype sélectionné à l'étape /c/, et une troisième valeur (2) au paramètre d'état (E(j)) du prototype sélectionné à l'étape IcI /e/ on sélectionne comme prototype un objet identifié dont le paramètre d'état a ladite première ou ladite seconde valeur et dont la classe associée inclut un nombre maximal d'objets dont le paramètre d'état a ladite première valeur /f/ on affecte ladite seconde valeur (1) au paramètre d'état (E(Cj(k)) de chaque objet ne constituant pas un prototype déjà sélectionné et appartenant à la classe du prototype qui vient d'être sélectionné à l'étape /e/, et ladite troisième valeur (2) au paramètre d'état du prototype qui vient d'être sélectionné à l'étape /e/ ; et /g/ on réitère les étapes /e/ et /f/ jusqu'à ce qu'il ne subsiste aucun objet identifié dont le paramètre d'état ait ladite première valeur. 11. Procédé selon la revendication 10, caractérisé en ce que lorsqu'il apparaît à l'étape /c/ ou /e/ que les classes respectivement associées à plusieurs objets sélectionnables incluent le même nombre maximal d'objets dont le paramètre d'état a ladite première valeur, on sélectionne comme prototype l'un desdits objets sélectionnables qui présente un paramètre de distance minimal, ledit paramètre de distance (DC(i)) d'un objet étant défini comme la plus grande des distances morphologiques entre ledit objet et un objet de sa classe associée dont le paramètre d'état a ladite première valeur. 12. Procédé selon 1 'une quelconque des revendications 1 à 11, caractérisé en ce que chaque objet identifié est représenté par un masque rectangulaire de pixels de mêmes dimensions que la portion rectangulaire de la première matrice de pixels (M1) dans laquelle s'inscrit la composante connexe correspondant audit objet, chaque pixel dudit masque ayant une première valeur s'il a dans ledit masque une position relative identique à celle d'un pixel de ladite composante connexe dans ladite portion rectangulaire de la première matrice de pixels, et une seconde valeur si sa position relative dans ledit masque n'est identique à la position relative d'aucun des pixels de ladite composante connexe dans ladite portion rectangulaire de la première matrice de pixels. 13. Procédé selon la revendication 12, caractérisé en ce que la distance morphologique (D(i,j)) entre deux objets, utilisée pour la sélection des prototypes et leur association aux objets identifiés, est proportionnelle au rapport entre une différence minimale (APmin) et une surface minimale (Smin)l ladite différence minimale étant le plus petit nombre de pixels de valeurs différentes entre les masques respectifs des deux objets lorsqu'on translate ces masques l'un par rapport à l'autre de nombres entiers de pixels suivant les deux directions (x,y) de la première matrice de pixels, et ladite surface minimale étant le plus petit des nombres de pixels des deux composantes connexes correspondant respectivement aux deux objets. 14. Procédé selon la revendication 12 ou 13, caractérisé en ce qu'on applique une réduction de résolution aux masques respectifs des prototypes sélectionnés, et en ce qu'on juxtapose les masques à résolution réduite des prototypes sélectionnés, pour obtenir la seconde matrice de pixels (M2). 15. Procédé selon les revendications 4 et 14, caractérisé en ce que les rapports de réduction de résolution (R2x, R2y) appliqués aux masques des prototypes sélectionnés pour former la seconde matrice de pixels (M2) sont égaux aux rapports de dimensions entre la troisième et la première matrice de pixels (M3, M1). 16. Procédé selon l'une quelconque des revendications 1 à 15, caractérisé en ce qu'on inclut dans ledit troisième fichier (F3) des données indiquant les dimensions (LM2, HM2) de la seconde matrice de pixels (M2). 17. Procédé selon l'une quelconque des revendications 1 à 16, caractérisé en ce qu'on inclut dans ledit troisième fichier (F3) des données indiquant le nombre (N) d'objets identifiés. 18. Procédé selon l'une quelconque des revendications 1 à 17, caractérisé en ce qu'on inclut dans ledit troisième fichier (F3) des données d'histogramme indiquant le nombre (NR(m)) des objets auxquels est associé chaque prototype sélectionné (PR(m)). 19. Procédé selon l'une quelconque des revendications 1 à 18, caractérisé en ce que ledit troisième fichier (F3) est produit par codage arithmétique conservatif d'un tableau (RPR) associant un prototype à chaque objet identifie. 20. Procédé de reconstruction d'une image binaire comprimée par un procédé selon l'une quelconque des revendications 1 à 19, dans lequel - on décode les premier, second et troisième fichiers (F1-F3) produits par le procédé de compression pour récupérer la seconde matrice de pixels, les positions des objets et les associations entre les objets et les prototypes - on analyse la seconde matrice de pixels (M2) pour en extraire les représentations des prototypes ; et - on construit une image de sortie en plaçant à chaque position d'objet repérée la représentation du prototype associé à l'objet ayant cette position.