FR 2660772 A1 19911011 FR 9104253 A 19910408 Cette invention concerne les systèmes de détection de défauts utilisés dans la production de cartes de circuits imprimés (CCI) et plus particulière- ment un système qui crée une base de données de transi- tion (BDT) contenant de l'information de tolérances de configurations de CCI, utilisée dans le contrôle sur la présence de défauts de cartes de circuits imprimés sortant de fabrication. Les cartes de circuits imprimés sont fabri- quées actuellement par un processus qui est presque complètement automatisé Les circuits pour une carte particulière sont conçus à l'aide d'une machine de conception assistée par ordinateur (CAO) qui créera non seulement un schéma de la carte de circuits imprimés, mais produira aussi le tracé sur la carte pour tous les dispositifs se trouvant sur elle L'information de tracé de la carte est appliquée à un dispositif tel qu'un traceur laser qui produit l'exposition du dessin-modèle nécessaire à la fabrication de la carte de circuits imprimés Le dessin-modèle est constitué d'une série d'aires transparentes et opaques formant des motifs qui correspondent aux dispositifs de la CCI. Cependant, la carte de circuits imprimés ou le dessin-modèle de la CCI peut comporter des défauts qui rendraient la carte inutilisable Il est donc souhai- table de disposer d'une référence avec laquelle le dessin-modèle ou la carte de circuits imprimés puisse être comparé Les défauts peuvent avoir une multitude de causes diverses, comportant notamment le retrait du dessin-modèle ou des défaillances dans le processus de fabrication Les systèmes connus pour la détection de défauts dans les cartes de circuits imprimés effectuent souvent une simple comparaison d'une carte donnée avec une carte de circuits imprimés de référence, sans défaut (que l'on appelle parfois une carte d'or) pour détecter des erreurs créées au cours du processus de fabrication. Cependant, cette simple comparaison donnera lieu à la détection d'un grand nombre de défauts très mineurs qui ne rendent pas la carte inacceptable De plus, des changements globaux des motifs de la carte, provoqués par le retrait du dessin-modèle, ont pour conséquence que tous les motifs sont détectés comme des défauts dans un système basé sur une simple comparaison avec une carte d'or. Quelques systèmes connus de contrôle optique de CCI sont configurés pour examiner des repères de contrôle qui sont placés sur le dessin-modèle en dehors des motifs Les dimensions des repères d'alignement de la carte de circuits imprimés sont comparées avec une référence pour déterminer le degré de retrait Au cas o le retrait dépasse une certaine ampleur, la carte est considérée défectueuse. L'information correspondant aux motifs de la carte de circuits imprimés est numérisée et enregistrée sur un support magnétique tel qu'une bande magnétique. Toutefois, la simple dimension d'un fichier ou d'une base de données de trame ou de grille fondamental (X,Y) ainsi obtenu, exige la compression des données afin de réduire le volume d'enregistrement et d'augmenter la vitesse de traitement Il existe dans l'art diverses structures de base de données comprimées et notamment la structure à codage de longueur de suite ou structure RLE (pour "Run Length Encoded") et la structure à actuali- sation de ligne de balayage ou structure SLU (pour "Scan Line Update") laquelle est utilisée par des sociétés telles que American Telephone and Telegraph Company (AT&T). Dans le but de créer une image des motifs de la CCI, le fichier de données doit être décomprimé en présentation trame et appliqué à un formateur d'images ou imageur direct à laser ou LDI (pour "Laser Direct Imager"), tel que le LDI 1500 commercialisé par Gerber Scientific Instrument Company, la demanderesse de la présente invention La comparaison entre les dispositifs sur la carte de circuits imprimés et les motifs sur l'image de référence est effectuée par un appareil tel que le système de détection de défauts modèle 1850, commercialisé également par Gerber Scientific Instrument Company. Il serait avantageux de disposer d'un procédé et d'un appareil pour créer une base de données à partir de données de trame comprimées, destinée à être utilisée dans la détection de défauts de cartes de circuits imprimés, qui permettrait de tolérancer des motifs individuels de cartes de circuits imprimés L'objet de la présente invention est un tel procédé et un tel appareil. L'un des buts de l'invention est de fournir un procédé et un appareil, à utiliser avec des systèmes automatiques de contrôle optique de cartes de circuits imprimés, servant à créer une base de données ayant des tolérances pour des motifs individuels de cartes de circuits imprimés. Un autre but de l'invention est de fournir un procédé et un appareil de ce type pour créer une base de données à trois états. Selon l'invention, dans un appareil pour créer une base de données de signaux représentatifs d'une image de motifs de cartes de circuits imprimés (CCI), utilisée pour un dessin-modèle dans la fabrication de CCI, l'image est constituée d'un ensemble de pixels ayant un premier état (noir) ou un deuxième état(blanc), qui sont disposés en une séquence de lignes de balayage, les pixels ayant l'état noir correspondant aux motifs des CCI et chacune des lignes de balayage étant consti- tuée d'au moins une suite de pixels de même état. L'appareil comprend un premier mécanisme pour recevoir des signaux correspondant à une ligne de balayage en cours et une ligne de balayage précédente; un deuxième mécanisme pour identifier une limite de suites formée par un pixel à la fin d'une première suite et par un pixel au début d'une deuxième suite sur la ligne de balayage en cours, ainsi qu'un troisième mécanisme pour déterminer l'état des suites L'appareil comporte également un quatrième mécanisme pour déterminer l'état d'une suite dans la ligne de balayage précédente en alignement avec la limite de suites de la ligne de balayage en cours, ainsi qu'un cinquième mécanisme pour faire passer à un troisième état (gris) un nombre présélectionné de pixels de tolérance autour de la limite entre les première et deuxième suites Un sixième mécanisme fait passer au troisième état les pixels que contiennent les lignes de balayage adjacentes en alig- nement avec la première ou la deuxième suite constituée de pixels ayant le premier état au cas o la suite de la ligne de balayage précédente alignée avec l'un des pixels de la limite de suites présente un état différent de celui de ladite suite Le sixième mécanisme fait passer également au troisième état les pixels comportant un nombre présélectionné de pixels de tolérance en alignement avec la limite de suites de la ligne de balayage en cours. D'autres caractéristiques et avantages de l'invention ressortiront plus clairement de la descrip- tion qui va suivre d'exemples de réalisation non limi- tatifs, ainsi que des dessins annexés, sur lesquels: la figure 1 est une représentation schéma- tique simplifiée de plusieurs dispositifs utilisés dans la fabrication d'une carte de circuits imprimés; la figure 2 est une représentation schéma- tique simplifiée d'un système de détection de défauts de cartes de circuits imprimés, comportant un appareil selon l'invention; la figure 3 est une illustration schématique simplifiée de la structure d'enregistrement logique pour les enregistrements de données comprimées utilisés dans le système selon la figure 2; la figure 4 est une illustration simplifiée d'une séquence de lignes de balayage contenant un motif d'un élément de CCI représenté comme des suites de pixels de même couleur; la figure 5 est une illustration d'une image d'un motif de CCI selon la présente invention, présen- tant la particularité d'avoir des tolérances intérieures et extérieures; la figure 6 est une illustration schématique d'un algorithme utilisé par l'appareil selon la figure 2 pour recevoir des signaux de données de lignes de balayage comprimées et pour convertir ces signaux en une présentation trame hybride; la figure 7 est une illustration schématique d'un algorithme utilisé par l'appareil selon la figure 2 pour créer une image de trame à trois états, avec des tolérances de motifs de CCI individuels; la figure 8 est une illustration schématique d'un algorithme dont l'accès est fourni par l'algorithme selon la figure 7 pour établir des tolérances de motifs de CCI dans une ligne de balayage en cours; et la figure 9 est une illustration schématique d'un algorithme dont l'accès est fourni par l'algorithme selon la figure 7 pour l'établissement de tolérances de motifs de CCI dans des lignes de balayage adjacentes à une ligne de balayage en cours. La figure 1 représente de façon schématique simplifiée une série de dispositifs représentatifs d'un système 10 utilisé dans la fabrication d'une carte de circuits imprimés Habituellement, les circuits à fabriquer sur la carte sont produits à l'aide d'un appareil de conception et fabrication assistées par ordinateur (CFAO), formé par le bloc 12, qui crée un fichier de données contenant un schéma des circuits Au bloc 14, ce fichier de données est introduit dans un programme pour former le tracé physique de la carte de circuits imprimés Le volume de données est substantiel puisque chaque point ou pixel sur la carte de circuits imprimés doit être décrit par deux coordonnées spatiales (X, Y) et une coordonnée indiquant l'état de ce pixel, noir ou blanc Comme la dimension d'un tel fichier de données est très grande, la plupart des systèmes utili- seront l'une de plusieurs techniques connues pour comprimer les données Ces techniques comprennent diverses structures à codage de longueur de suite (RLE) ou une structure à actualisation de ligne de balayage (SLU) telle que la structure utilisée par AT&T dont il a été question précédemment Ce fichier de données est appliqué ensuite à une série de dispositifs, comprenant un traceur photoélectrique 16 servant à fabriquer le dessin-modèle nécessaire pour réaliser la carte de circuits imprimés Le traceur photoélectrique est habituellement un imageur direct à laser (LDI) Celui-ci déplace le spot de balayage du pinceau laser d'exposi- tion par rapport à une platine d'écriture et module le pinceau en marche/arrêt sous la commande des données d'entrée Après qu'une ligne a été tracée, la platine est déplacée de 0,001 pouce ou 0,00254 mm puis la ligne suivante est tracée Le processus continue jusqu'à ce que toute l'image soit exposée sur le film Pour une image de CCI de grandeur nature, il y aura 24 200 balayages, consistant chacun en 17 800 bits, soit 2 225 octets ou 1112,5 mots de 16 bits Enfin, la carte de circuits imprimés est f abriqée, au bloc 18, au moyen d'un équipement connu. Pour tester la carte de circuits imprimés sur la présence de défauts, le fichier de données comprimées est transmis aussi à un système 20 de détection de défauts de cartes de circuits imprimés, tel que le système de détection de défauts du modèle 1850 dont il a été question précédemment Ainsi qu'il sera décrit en détail ci-après, ce système de détection modèle 1850 décomprimera de nouveau les données en une présentation trame pour créer une image de référence parfaite, sans défaut, de la carte de circuits imprimés Cet image peut ensuite être utilisée dans une comparaison avec une image analysée de la carte de circuits imprimés en vue de la localisation de défauts, lesquels peuvent être vérifiés après cela dans un poste de vérification 22. La figure 2 illustre schématiquement le fonctionnement d'une partie d'un système 24 de détection de défauts selon l'invention, utilisé pour localiser des erreurs dans des cartes de circuits imprimés ou des dessinsmodèles de CCI Le système 24 comporte un appareil à tolérancer les données, qui crée une base de données de transition (BDT) 26 contenant des données RLE à trois états (noir, blanc, gris) à partir de données RLE à deux états (noir, blanc) d'une manière qui sera décrite en détail dans ce qui va suivre Bien que le procédé et l'appareil selon l'invention produisent de préférence la conversion de données RLE à deux états en données RLE à trois états, l'homme du métier notera qu'il est possible aussi de traiter des données à deux états sous une présentation trame pour obtenir une base de données de trame à trois états, en apportant les changements adéquats au logiciel. Des données comprimées correspondant aux motifs sur une carte de circuits imprimés, sont fournies par un système de CAO sous la structure SLU de données à actualisation de ligne de balayage (bloc 28) Ces données sont transcodées ensuite en une structure RLE à 16 bits (bloc 30 X, de préférence la structure à 16 bits caractéristique du système de détection modèle 1850 de Gerber Scientific Instrument Après cela, les données sont décomprimées en une présentation trame (bloc 32). La plupart des ordinateurs n'ont pas la capacité néces- saire pour contenir une grande image tramée dans la mémoire centrale Par exemple, une image de CCI de 18 pouces x 24 pouces avec une résolution de 0,005 pouce, soit environ 457 mm x 610 mm avec une résolution ou pas de 0,0127 mm, demande plus de 200 mégaoctets de mémoire. Par conséquent, le système convertit l'image RLE en une présentation trame hybride formée de blocs de lignes de balayage, d'une manière décrite en détail par la suite. Chaque bloc de lignes de balayage est à présent décrit par une liste de suites et un bloc de données de trame. L'appareil à tolérancer les données reçoit, au bloc 34, les données RLE de structure hybride et modifie les données d'une manière décrite en détail dans ce qui va suivre, pour doter chaque motif de carte de circuits imprimés de tolérances dimensionnelles d'une valeur préfixée Les tolérances des motifs sont représentées par le troisième état, c'est-àdire l'état gris Les données de tolérances sont ensuite recomprimées de façon connue en une structure RLE destinée à être utilisée par le système 24 dans la détection de défauts de CCI (bloc 36). Ainsi qu'il a été mentionné précédemment, les données produites par le système de CAO sont inscrites sous forme comprimée, plus exactement sur une bande magnétique compatible au niveau de l'industrie, pour enregistrement en modulation de phase, à neuf pistes, sous une densité de 1600 octets au pouce, soit environ 630 octets au cm Les octets d'information sont orga- nisés sur la bande sous une présentation IBM standard, de manière que l'octet de poids fort apparaisse en premier Une bande magnétique complète contient un ou plusieurs ensembles de données d'image avec les labels appropriés à des repères matériels de la bande Les labels de bande utilisent une variante du standard de labels de bande ANSI, comme décrit en détail dans la publication IBM "OS/VS Tape Labels", numéro de document GC 26-3795 Chaque enregistrement d'un label est un enregistrement physique de 80 octets écrit dans le code ASCII à 7 bits Les quatre premiers octets de chaque enregistrement constituent l'identificateur d'une bande particulière d'enregistrement de labels On peut uti- liser l'un quelconque de cinq types d'enregistrements de labels de bande: VOL 1 (le label en-tête de volume), HDR 1 (enregistrement de label début de fichier numéro 1, HDR 2 (enregistrement de label début de fichier numéro 2), EOF 1 (enregistrement de label fin de fichier numéro 1) et EOF 2 (enregistrement de label fin de fichier numéro 2). Les ensembles de données sont groupés en enregistrements physiques d'une longueur de 4096 octets. Chaque enregistrement physique est rempli complètement, sans qu'il soit tenu compte des limites des enregistre- ments logiques Les enregistrements logiques peuvent donc chevaucher des limites d'enregistrements physiques et ignorer des considérations matérielles éventuelles introduites par des intervalles entre les enregistre- ments Deux repères matériels consécutifs suivent le dernier label EOF 2 sur la bande et désignent la fin logique de la bande. La figure 3 est une représentation schématique de la strcture de l'enregistrement logique de la bande décrite ci-dessus La bande 38 comprend plusieurs sections dont l'en-tête d'image 40, la ligne de balayage 1 ( 42), la ligne de balayage 2 ( 44) et la ligne de balayage N ( 46) L'en-tête d'image contient de l'infor- mation concernant le nombre d'octets par balayage, le nombre de lignes de balayage, le nombre de caractères dans un message d'opérateur facultatif et le message d'opérateur Le premier mot 48, correspondant à la ligne de balayage 1, indique le nombre de balayages de répétition pour cette ligne particulière Le deuxième mot 50 du début indique le nombre de suites par ligne. Comme on le sait, une suite est un nombre de caractères (pixels) contigus du même état dans une ligne de ba- layage L'enregistrement de données-image comprimées 52 vient ensuite, de même qu'un en-queue de total de contrôle 54 La même configuration de mots est utilisée dans les lignes de balayage suivantes Le premier mot du début définit l'état couleur initial de la ligne de balayage (noir/blanc), la fin de l'indicateur d'image et le nombre de répétitions pour les données de balayage. Par exemple, le bit 14 = 1 désigne le dernier enregis- trement de ligne de balayage de l image en cours La compression verticale est réalisée par la compression de lignes de balayage en double Les bits O à 13 indiquent le nombre de fois que les données de la ligne de ba- layage dans cet enregistrement doit être représenté par une image; un 1 signifie qu'une seule copie de la ligne de balayage doit être produite Habituellement, le deuxième mot du début (en-tête) est utilisé à des fins de détection d'erreurs et contient le nombre compté de mots de données dans l'enregistrement de la ligne de balayage La base de données est comprimée par le comptage de bits de couleur consécutifs dans chaque ligne de balayage Les mots de données comprimées sont essentiellement une série de nombres comptés de marchel arrêt Chaque mot de données de 16 bits est interprété comme l'un de deux modes possibles Le premier mode, le mode 0, est facultatif dans les zones d'image clairsemées Le second mode, le mode 1, est plus efficace lorsque la zone d'image devient dense ou complexe Le bit 15 indique le mode pour chaque mot de donnée Il est à O pour le mode O et à 1 pour le mode 1. Comme un nombre compté de 15 bits dépasse la largeur de balayage maximale de 17 800 bits, une ligne de balayage monotone peut être comprimée en un mot de données Par il conséquent, des mots de données supplémentaires sont seulement nécessaires lorsqu'il y a un changement de couleur ou d'état Dans le mode 0, il y a un mot de données pour chaque changement. L'état couleur initial est donné sur le mot de début de la ligne de balayage Dans le mode 1, deux compteurs de 7 bits (bits 8 à 14 et bits O à 6) repré- sentent des états couleur opposés Le mode 1 est utilisé seulement lorsqu'il existe une paire de nombres comptés consécutifs supérieurs à 0, mais inférieurs à 128 Les bits 8 à 14 représentent le premier nombre compté, lequel présente toujours l'état couleur opposé du mot de données précédent Les bits O à 6 représentent un deuxième nombre compté qui présente toujours la couleur (l'état) opposée de celle du compteur 1 Le bit 7 est un bit de synchronisation couleur à utiliser à des fins de détection d'erreurs Il doit réfléter la couleur pro- duite par le compteur 2 Le bit 7 ne contrôle pas l'état couleur du compteur 2, mais est utilisé pour confirmer que le matériel d'imagerie laser est synchronisé avec les données Par exemple, si le mot de données précédent était en mode 1 et si, par suite d'une erreur de trans- mission de données quelconque, le bit 15 avait été éliminé, ce qui indiquerait par erreur le mode 0, il y aurait eu une seule au lieu de deux transitions de couleur, provoquant la perte de synchronisation de l'état couleur Ceci serait détecté lorsque l'état couleur du matériel ne correspond pas au bit 7 du mot de données du mode 1 suivant Un message d'erreur est produit lorsque la base de données est représentée par une image Il existe également un "facteur de lenteur" qui est transféré au processeur de décompression du système 24 et qui indique le nombre de fois que chaque ligne de balayage doit être repétée en sortie Ce paramètre est inséré également dans une base de données de sortie appliquée au système optique de l'imageur laser direct (LDI) à la suite du préambule dans sa période d'inactivité. La structure de compression, décrite en détail pour ce qui concerne le mode de mise en oeuvre préféré, est basée sur un groupe de codes qui sont utilisés pour indiquer des différences et des similarités entre des lignes de balayage Chaque mot de code a une longueur de 16 bits et est composé de manière que les 4 bits de poids fort contiennent le numéro de code Les 12 bits de poids faible contiennent de l'information relative au code Suivant le code, il peut y avoir des mots supplé- mentaires à la suite du mot de code. Parmi les 16 numéros de code disponibles, Il sont définis ci-dessous Numéro de -il code Description Ligne de balayage binaire Répéter ligne de balayage précédente Ligne de balayage Ligne de balayage complète Mettre à O chaîne d'octets Mettre à 1 chaîne d'octets Fin de mises à jour Message commentaires Fin d'image Positionner axe Positionner y Les codes 1 à 7 sont effectivement utilisés pour ex- primer les images de motifs de CCI Les codes 8, 11, 13 et 14 sont utilisés en plus pour définir la grandeur de l'image et faire des commentaires éventuellement néces- saires Les images grandeur nature sont exprimées seulement en utilisant ces codes Une description plus détaillée du groupe de mots associé à chaque code peut être trouvée dans le document de Gerber Scientific t 3 Instrument intitulé "Model 588 AT&T Tape Format Speci- fication for the LDI 1500 Laser Plotter". Deux codes dans la structure de bande SLU de AT&T changent des bits individuels dans la ligne de balayage précédente pour générer la ligne de balayage suivante Le code " 5 " met à O le bit de départ à l'adresse donnée Le code " 6 " met ces bits à 1 Ces codes peuvent être mis en oeuvre de deux manières Pour la première, il est supposé que seulement les bits changés sont codés Les bits " 1 " sont mis à zéro et les bits " O " sont mis à 1 Comme il s'agit essentiellement d'un processus d'inversion, seulement un code est nécessaire et non pas deux L'autre méthode de mise en oeuvre de ces codes peut être considérée comme un codage de longueur de suite de chaînes de bits avec des chan- gements Si un changement d'état se produit à une extrémité d'une chaîne de bits, toute la longueur de la chaîne est codée Ce changement peut résulter dans l'utilisation d'un code au lieu de deux afin d'obtenir une meilleure compression s'il y a des changements aux deux bouts d'une chaîne. Lorsqu'on se reporte maintenant à la figure 4, celle-ci montre une zone à motif 55 d'un dessin-modèle de CCI, représentant un dispositif sur une carte de circuits imprimés Les lignes de balayage 56, 57, 58, 59 et 60 doivent être inscrites sur le dessin-modèle de CCI Chaque ligne de balayage est constituée d'un alignement linéaire de pixels La ligne de balayage 56 se trouve en dehors du motif 61 et comporte uniquement des pixels "clairs" dans la figure ou des pixels "blancs" dans l'image de la base de données Les lignes de balayage 57-59 contiennent le motif de CCI et com- portent chacune une suite de pixels blancs 62 suivie d'une suite de pixels "noirs" 63, elle-même suivie d'une suite de pixels blancs 64 La ligne de balayage 60 est constituée uniquement de pixels blancs et se trouve en dehors du motif de CCI 61 Les lignes de balayage 56 et peuvent être considérées comme étant constituées de seulement une suite de blancs, tandis que les lignes de balayage 57-59 peuvent être considérées comme étant constituées chacune de trois suites: une blanche suivie d'une noire, elle-même suivie d'une blanche. Ainsi qu'il a été indiqué précédemment, l'invention apporte une base de données de transition dans laquelle des motifs d'un dessin-modèle de CCI dans une base de données de référence sont modifiés de manière qu'ils comportent des tolérances dimensionnelles pour ces motifs Une tolérance globale, intérieurel extérieure est prédéfinie en grandeur pour le système 24 Les données-image à trois états, à codage de longueur de suite, produites en sortie par le système 24, sont caractérisées par des pixels marche/arrêt/in- différent, ou par des représentations noir/blanc/gris utilisées à des fins d'illustration. La figure 5 contient le motif CCI montré par la figure 4 après le traitement selon la présente invention Des pixels noirs représentent des aires d image o la configuration (motif) doit apparaître, tandis que des pixels blancs représentent des aires d'image o la configuration ne doit pas apparaître Des pixels gris représentent une aire d'image o l'appari- tion ou la non-apparition de la configuration (cette dernière étant définie par des pixels noirs) est sans importance Ces pixels "igris" se présentent sur les bords de la configuration et représentent des tolérances intérieures/extérieures ou des variations acceptables de la configuration Sur la figure 5, la région 65 corres- pond à la partie du motif devant apparaître La région 66 est une aire nominale de ce motif, tandis que la région 67 représente l'aire la plus grande que ce motif puisse avoir. Ainsi qu'il a été indiqué précédemment, l'image est traitée en blocs de lignes de balayage; les figures 6 et 7 représentent le traitement de tels blocs. L'homme du métier notera qu'une attention spéciale est nécessaire pour les limites entre les blocs et que les conditions aux limites sont traitées d'une manière connue. La figure 6 est une représentation schématique d'un algorithme 68 utilisé par le système 24 pour créer la base de données de trame hybride Un glossaire d'abréviations ci-après. employé dans les figures 6-9 est indiqué f in-préc fin-cours début-préc début-cours état-préc état-cours pixel final nomb-suites pixel-cours état- cours début-suite fin-suite état-suite = numéro de pixel de fin de suite sur ligne précédente = numéro de pixel de fin de suite sur ligne en cours = numéro de pixel de début de suite sur ligne précédente = numéro de pixel de début de suite sur ligne en cours = état de suite sur ligne précédente = état de suite sur ligne en cours = pixel final de la ligne de balayage = nombre de suites sur ligne de balayage = numéro de pixel en cours sur ligne de balayage = état du moment (noir ou blanc) = numéro du pixel de début pour suite en cours = numéro du pixel de fin pour suite en cours = état pour suite en cours L'algorithme 68 décrit grosso modo la conver- sion du fichier de données à structure RLE en listes de suites à structure de trame pour chaque ligne de ba- layage Chaque suite a un numéro de pixel de début, un numéro de pixel de fin et un état ou couleur Au pavé 69, l'algorithme détermine si toutes les lignes de balayage pour ce bloc ont été introduites Si toutes les lignes ont été introduites, le système sort de l'algo- rithme au pavé 70 Sinon, le mot de début de ligne de balayage numéro 1 est lu au pavé 71 L'état du pixel en cours est déterminé d'après le mot numéro 1 au pavé 72. Le pixel en cours est mis à zéro au pavé 74 et le nombre de suites est mis à zéro au pavé 76 Le mot numéro 2 de début de ligne est lu pour déterminer le nombre de mots décrivant des suites sur la ligne de balayage (pavé 78). Au pavé 80, l'algorithme 68 détermine si tous les mots d'un nombre de mots pour la ligne de balayage ont été lus Dans l'affirmative, le programme retourne au pavé 69 Dans la négative, le mot suivant est lu (pavé 82) Au pavé 84, il est déterminé si le mot est dans le mode long Si oui, le nombre de pixels dans la suite de contrôle est déterminé à partir des bits O à 14 du premier mot (pavé 86) Au pavé 88, le pixel de début pour la suite en cours est mis au pixel en cours sur la ligne de balayage Au pave 90, le numéro de pixel de fin pour la suite en cours est rendu égal au numéro de pixel en cours plus le nombre de pixels dans la suite moins 1. Au pavé 92, l'état pour la suite en cours est rendu égal à l'état du moment, soit noir, soit blanc Ensuite, au pave 94, l'algorithme rend le nombre de suites sur la ligne de balayage égal au nombre de suites plus 1 et, au pavé 96, le numéro du pixel en cours sur la ligne de balayage est rendu égal au numéro du pixel en cours plus le nombre de pixels pour la suite en cours. Si, au pavé 80, le mot n'est pas dans le mode long, l'algorithme 68 passe au pavé 98, obtient le nombre de pixels dans la suite en cours à partir des bits 8 à 14 du mot et rend le numéro du pixel de début pour la suite en cours égal au numéro du pixel en cours sur cette ligne de balayage (pavé 100) L'algorithme rendra ensuite le numéro du pixel de fin pour la suite en cours égal au numéro du pixel en cours plus le nombre de pixels dans la suite moins 1 (pavé 102) Après cela, au pavé 104, l'état pour la suite en cours est rendu égal à l'opposé de l'état du moment, ce qui revient à dire que le programme inverse l'état Le nombre de suites sur la ligne de balayage est rendu ensuite égal au nombre de suites sur la ligne de balayage plus 1 (pavé 106) et le numéro du pixel en cours sur la ligne de balayage est rendu égal au numéro du pixel en cours plus le nombre de pixels pour la suite en cours (pavé 108). L'algorithme 68 continue au pavé 110 et obtient le nombre de pixels pour la suite en cours à partir des bits O à 7 du mot et, au pavé 112, rend le numéro du pixel de début pour la suite en cours égal au numéro du pixel en cours Le numéro du pixel de fin pour la suite en cours est rendu égal au numéro du pixel en cours plus le nombre de pixels dans la suite moins 1 (pavé 114) L'algorithme inverse l'état du moment en rendant l'état pour la suite en cours égal à l'opposé de l'état du moment (pavé 116) Après cela, l'algorithme rend le nombre de suites sur la ligne de balayage égal au nombre de suites plus 1 (pavé 118) et rend le numéro du pixel en cours sur la ligne de balayage égal au numéro du pixel en cours plus le nombre de pixels pour la suite en cours (pavé 120). L'homme du métier notera que l'algorithme 68 tel que décrit sur la figure 6, ne fait pas état de certains traitements qui se déroulent simultanément dans le système 24 De même qu'il remplit la liste de suites pour une ligne de balayage, l'algorithme remplit égale- ment la liste de trame pour la ligne de balayage, indiquant l'état pour chaque pixel Ainsi qu'il a été noté précédemment, le traitement de l'image est effectué par l'algorithme 68 en blocs de lignes de balayage Le mot numéro 1 du début d'une ligne de balayage spécifie le nombre de fois que la ligne en question doit être répétée Par conséquent, si la ligne de balayage doit être répétée 5 fois, la liste de suites et la liste de trame sont copiées 5 fois Après le remplissage de la liste de suites et de la liste de trame pour chaque ligne de balayage du bloc, les listes sont utilisées en tant qu'information d'entrée pour un autre algorithme, décrit en détail dans ce qui va suivre. La figure 7 représente un algorithme 122 utilisé par le système 24 pour créer une image de trame à trois états selon l'invention Succinctement, l'algo- rithme 122 avance pas à pas le long de deux lignes de balayage, la ligne en cours et la ligne précédente, en comparant les états de suites verticalement adjacentes lorsqu'une transition d'état est détectée dans la ligne de balayage en cours Une transition dans la ligne en cours indique, soit le début, soit la fin d'un motif dans le sens horizontal Une transition d'état entre des suites de lignes de balayage adjacentes indique, soit le début, soit la fin d'un motif dans le sens vertical. L'algorithme change les états d'un nombre sélectionné de pixels voisins du début et de la fin du motif dans la ligne de balayage en cours En même temps qu'il produit la comparaison de suites verticalement voisines, l'al- gorithme changera également la couleur ou l'état de pixels le long de multiples lignes de balayage, à la fois à l'intérieur et à l'extérieur du motif original, comme le montre la figure 4. Ainsi qu'il a été mentionné précédemment, l'image tramée hybride est constituée d'une séquence de lignes de balayage formée d'une séquence correspondante de données de lignes de balayage en structure RLE Dans le mode de mise en oeuvre préféré, l'algorithme 122 de la figure 7 n'effectue pas une comparaison pixel par pixel entre des lignes de balayage verticalement voi- sines et des pixels voisins sur la ligne de balayage en cours Au lieu de cela, une comparaison est effectuée avec l'emplacement du pixel ou, ce qui revient au même, son numéro, soit sur la ligne de balayage en cours, soit sur la ligne de balayage précédente, qui correspond à un bout d'une "suite" de pixels de même état Cette compa- raison de suites est nettement plus efficiente qu'une comparaison directe pixel par pixel. Au pavé 124, l'algorithme 122 reçoit des signaux correspondant à deux lignes de balayage adja- centes Ces lignes ont été générées selon l'algorithme décrit en référence à la figure 6 Il est à noter que pour la première ligne de balayage dans une image, l'algorithme produira, en tant que partie du processus d'initialisation, une "ligne 0 "r composée uniquement de pixels blancs pour la première ligne à utiliser dans une comparaison Au pavé 125, l'algorithme détermine si le traitement de lignes de balayage dans le bloc concerné est terminé Si oui, l'algorithme se termine au pavé 27. Sinon, le système sort de l'algorithme pour passer à l'algorithme décrit en détail ci-après en référence à la figure 8 Au pavé 126, l'algorithme compare le numéro du pixel de fin de la suite sur la ligne précédente avec le numéro du pixel de fin de la suite sur la ligne en cours. Si le numéro du pixel de fin de la suite sur la ligne précédente est supérieur au numéro du pixel de fin de la suite sur la ligne en cours, l'algorithme vérifie l'état des suites adjacentes sur les lignes de balayage en cours et précédente (pavé 128) Si les états sont les mêmes, l'algorithme avance au pavé 130 et fixe le numéro du pixel de début de la suite sur la ligne précédente égal au numéro du pixel de fin de la suite sur la ligne en cours plus 1 Au pavé 132, l'algorithme avance jusqu'à la suite consécutive sur la ligne en cours puis le système passe à l'algorithme décrit ci-après en référence à la figure 8 (pavé 134) Si une décision négative avait été obtenue précédemment au pavé 128, le système sort de l'algorithme pour passer à un algorithme décrit ci-après en détail en référence à la figure 9 (pavé 136). Si le numéro du pixel de fin de la suite sur la ligne précédente est inférieur au numéro du pixel de fin de la suite sur la ligne en cours, ce qui est déterminé au pavé 138, l'algorithme vérifiera l'état de la suite sur la ligne précédente pour le comparer avec l'état de la suite sur la ligne en cours (pavé 140) Si les états sont égaux, l'algorithme fixera, au pavé 142, le numéro du pixel de début de la suite sur la ligne en cours égal au numéro du pixel de fin de la suite sur la ligne précédente plus 1 Au pavé 144, l'algorithme avance à la suite consécutive sur la ligne précédente. Par contre, si une décision négative est obtenue au bloc 140, l'algorithme avancera à l'algorithme décrit ci- après en référence à la figure 9 (pavé 146). Si une décision négative a été obtenue au pavé 138, l'algorithme déterminera, au pavé 148, si oui ou non l'état de la suite sur la ligne précédente est égal à l'état de la suite sur la ligne en cours Dans l'af- firmative, l'algorithme déterminera, au pavé 150, si le pixel de fin de la suite sur la ligne précédente cor- respond au pixel final de la ligne de balayage Dans l'affirmative, l'algorithme exécute l'algorithme décrit ci-après en référence à la figure 8 (pavé 152) et avance à la ligne de balayage suivante (pavé 154) Si la fin de la ligne de balayage n'a pas été atteinte, l'algorithme passera, au pavé 156, à la suite consécutive sur les lignes de balayage précédente et en cours et avancera à l'algorithme décrit ci-après en référence à la figure 8 (pavé 157) Si, au pavé 148, l'état de la suite sur la ligne précédente n'est pas le même que l'état de la suite en cours, le système sort de l'algorithme pour passer à l'algorithme représenté sur la figure 8 (pavé 158). L'invention établit à la fois une tolérance intérieure et une tolérance extérieure, formant des marges situées respectivement à l'intérieur et à l'ex- térieur des dimensions nominales d'un motif Les algo- rithmes appliqués dans le mode de mise en oeuvre préféré no de l'invention et qui seront décrits en détail en référence aux figures 8 et 9, servent à établir ces tolérances de motifs respectivement dans le sens hori- zontal (le long de la ligne de balayage) et dans le sens vertical (entre les lignes de balayage adjacentes) En tant que tolérance de motif on détermine préalablement un certain nombre de pixels La figure 8 montre un algorithme 158 utilisé par le système 24 selon l'inven- tion Le système accède à cet algorithme 158 en confor- mité avec les décisions obtenues dans l'algorithme 122 qui vient d'être décrit en référence à la figure 7. L'état de la suite en cours est déterminé au pavé 160 S'il est noir, l'algorithme fait passer au gris, au pavé 162, les pixels depuis le début plus un nombre de pixels correspondant à la valeur de tolérance précédemment choisie moins 1 Au pavé 164, l'algorithme fait ensuite passer au gris les pixels à partir du numéro de pixel du début moins la valeur de tolérance, jusqu'au numéro du pixel de départ moins 1 Les étapes effectuées aux pavés 162 et 164 établissent respective- ment la tolérance intérieure et la tolérance extérieure au début du motif. Par contre, s'il a été constaté que l'état de la suite n'est pas noir, l'algorithme fera passer au gris, au pavé 166, les pixels commençant par le numéro du pixel de départ moins la valeur de tolérance jusqu'au numéro du pixel de départ moins 1 Au pavé 168, l'algorithme fait passer au gris les pixels allant du pixel de début jusqu'au pixel de début plus la valeur de tolérance moins 1 Les étapes exécutées par l'algorithme aux pavés 166 et 168 établissent de façon analogue les tolérances respectivement intérieure et extérieure pour la fin du motif. La figure 9 est une illustration schématique d'un algorithme 170 exécuté par le système 24 pour établir des tolérances de motifs dans le sens vertical ou dans le sens des lignes de balayage voisines Ainsi qu'il a été noté précédemment, un numéro de ligne est attribué à chaque ligne de balayage Le système accède à l'algorithme 170 en conformité avec les décisions prises par le système dans l'algorithme 122 décrit précédemment en référence à la figure 7 L'état de la suite sur la ligne de balayage en cours est déterminé au pavé 172. S'il est noir, l'algorithme fait passer au gris, au pavé 174, les pixels depuis le début de la présente suite moins la valeur de tolérance jusqu'à la fin de la présente suite plus la valeur de tolérance pour la ligne de balayage cours et pour les lignes de balayage dont le numéro de ligne est égal au numéro de la ligne en cours plus la valeur de tolérance moins 1 Ensuite, au pavé 176, l'algorithme fait passer au gris les pixels depuis le début de la présente suite moins la valeur de tolé- rance, jusqu'à la fin de la présente suite plus la valeur de tolérance pour la ligne commençant à la ligne de balayage en cours moins la valeur de tolérance, jusqu'au numéro de la ligne en cours moins 1 Les étapes exécutées aux pavés 174 et 176 établissent les tolé- rances du motif respectivement intérieure et extérieure au début du motif. Par contre, sril a été constaté que l'état de la suite n'est pas noir, l'algorithme fera passer au gris, au pavé 178, les pixels depuis le début de la présente suite moins la valeur de tolérance, jusqu'à la fin de la présente suite plus la valeur de tolérance pour la ligne en cours moins la valeur de tolérance jusqu'à la ligne en cours moins 1 Au pavé 180, l'algo- rithme fait passer au gris les pixels depuis le début de la présente suite moins la valeur de tolérance, jusqu'à la fin de la présente suite plus la valeur de tolérance pour la ligne en cours, jusqu'à la ligne en cours plus la valeur de tolérance moins 1 Les étapes exécutées par l'algorithme aux pavés 178 et 180 établissent de façon semblable les tolérances respectivement intérieure et extérieure pour la fin du motif L'homme du métier notera que les algorithmes décrits en référence aux f igures 7 et 8 assurent que la base de données tolé- rancée comporte le motif représenté sur la figure 4 avec les tolérances désirées. De même, l'homme du métier comprendra que l'invention n'est pas limitée aux formes de réalisation décrites et qu'il pourra y apporter diverses modifica- tions, sans pour autant sortir de son cadre. REVENDI CATIONS 1 Appareil ( 26) pour créer une base de données de signaux représentatifs d'une image de motifs ( 55) de cartes de circuits imprimés (CCI), utilisée dans un dessin-modèle pour la fabrication de CCI, l'image étant constituée d'un ensemble de pixels ayant un premier état ( 63) (noir) ou un deuxième état ( 62) (blanc), qui sont disposés dans une séquence de lignes de balayage, les pixels ayant l'état noir correspondant à des motifs de I O CCI, chacune des lignes de balayage étant constituée d'au moins une suite de pixels du même état, l'appareil ( 26) comportant un premier moyen pour recevoir des signaux correspondant à une ligne de balayage en cours ( 57) et une ligne de balayage précédente ( 56); un deuxième moyen pour identifier une limite de suites formée par un pixel à la fin de la première suite ( 62) et un pixel au début de la deuxième suite ( 63) sur la ligne de balayage en cours ( 57); un troisième moyen pour déterminer l'état des suites, caractérisé en ce qu'il comprend un quatrième moyen pour déterminer l'état d'un pixel que contient la ligne de balayage précédente ( 56) en alignement avec la limite de suites dans la ligne de balayage en cours; un cinquième moyen pour faire passer à un troisième état (gris) ( 66) un nombre présélectionné de pixels de tolérance autour de la limite dans les première et deuxième suites et un sixième moyen pour faire passer à ce troisième état ( 66) des pixels que contiennent des lignes de balayage adjacentes en alig- nement avec celle des première et deuxième suites qui est constituée de pixels ayant le premier état au cas o le pixel de la ligne de balayage précédente en aligne- ment avec l'un des pixels définissant la limite entre les suites présente un état différent de lui, le sixième moyen servant en outre à faire passer au troisième état ( 66) des pixels comportant un nombre présélectionné de pixels de tolérance en alignement avec la limite entre les suites sur la ligne de balayage en cours. 2 Procédé pour créer une base de données de signaux représentatifs d'une image de motifs ( 55 > de cartes de circuits imprimés (CCI), utilisée dans un dessin-modèle pour la fabrication de CCI, l'image étant constituée d'un ensemble de pixels ayant un premier état (noir) ( 63) ou un deuxième état (blanc) ( 62) et disposés en une séquence de lignes de balayage ( 56, 57, 58), les pixels ayant l'état noir correspondant aux motifs de CCI, chaque ligne de balayage étant constituée d'au moins une suite ( 62) de pixels de même état, procédé qui comprend les étapes consistant à recevoir des signaux correspondant à une ligne de balayage en cours ( 57) et une ligne de balayage précédente ( 56); à identifier une limite de suites définie par un pixel à la fin de la première suite ( 62) et un pixel au début de la deuxième suite ( 63) sur la ligne de balayage en cours ( 57) et à déterminer l'état de ces suites, caractérisé en ce qu'il comprend en outre les étapes consistant à déterminer l'état d'un pixel dans la ligne de balayage précédente ( 56) en alignement avec la limite de suites de la ligne de balayage en cours; à faire passer à un troisième état (gris) ( 66) un nombre présélectionné de pixels de tolérance autour de la limite dans les première et deuxième suites; à faire passer à ce troisième état ( 66) des pixels dans des lignes de balayage adjacentes ( 56, 58 > en alignement avec celle des première et deuxième suites qui est constituée de pixels ayant le premier état au cas o ce pixel de la ligne de balayage précé- dente ( 56) en alignement avec l'un des pixels définis- sant la limite de suites présenterait un état différent de lui, ainsi qu'à faire passer à ce troisième état des pixels comportant un nombre présélectionné de pixels de tolérance en alignement avec la limite de suites de la ligne de balayage en cours. 3 Système ( 20) pour créer une base de données de transition (BDT) à trois états, destinée à être utilisée pour détecter des défauts dans une carte de circuits imprimés (CCI) ayant des motifs de circuit ( 55) sur elle, le système recevant une base de données ayant des signaux correspondant à une image de la CCI, cette base de données ayant une structure de trame hybride à codage de longueur de suite, comportant une pluralité de lignes de balayage ( 56, 57, 58) constituées d'un ensemble de no pixels présentant un premier état (noir) ( 63) ou un deuxième état (blanc) ( 62), les lignes de balayage étant affectées d'un numéro de ligne et chacune d'elle conte- nant au moins une suite de pixels de même état, carac- térisé par un procédé comprenant les étapes consistant à recevoir ( 125) des signaux correspondant à deux lignes de balayage adjacentes, une ligne de balayage précédente ( 56) et une ligne de balayage en cours ( 57); à comparer ( 126) un numéro de pixel de fin d'une première suite sur la ligne précédente avec le numéro de pixel de fin d'une première suite sur la ligne en cours et, si le numéro du pixel de fin de la suite sur la ligne de balayage précédente est supérieur au numéro du pixel de fin de la suite sur la ligne de balayage en cours ( 57), à vérifier ( 128) les états de suites adjacentes sur les lignes de balayages en cours ( 57) et précédente ( 56); à fixer ( 130), si ces états sont les mêmes, un numéro de pixel de début de la suite sur la ligne de balayage précédente ( 56) de manière qu'il soit égal à un numéro de pixel de fin de la suite sur la ligne de balayage en cours plus 1; à avancer ( 132) à la suite consécutive sur la ligne de balayage en cours et, après cela, à déterminer ( 134) l'état de cette suite de la ligne de balayage en cours pour, si ( 160) cet état est noir, faire passer ( 162) à un troisième état (gris) les pixels de la ligne de balayage en cours depuis le numéro du pixel de début jusqu'au numéro du pixel de début plus une valeur de tolérance moins 1; à faire passer ( 164) au troisième état les pixels de la ligne de balayage en cours depuis le numéro du pixel de début moins la valeur de tolé- rance, jusqu'au numéro du pixel de début moins 1; si l'état est blanc, à faire passer ( 166) au troisième état les pixels de la ligne de balayage en cours depuis le numéro du pixel de début moins la valeur de tolérance, jusqu'au numéro du pixel de début moins 1; à faire passer ( 168) au troisième état les pixels de la ligne de balayage en cours depuis le numéro du pixel de début jusqu'au numéro du pixel de début plus la valeur de tolérance moins 1; si ( 136) les états des suites adja- centes sur les lignes de balayage en cours et précédente ne sont pas les mêmes, à déterminer ( 172) l'état de la suite en cours; s'il s'agit de l'état noir, à faire passer ( 174) au troisième état les pixels de la ligne de balayage en cours depuis le début de la suite en cours moins la valeur de tolérance, jusqu'à la fin de la suite en cours plus la valeur de tolérance, pour la ligne de balayage en cours et pour les lignes de balayage ayant un numéro de ligne égal au numéro de la ligne en cours plus la valeur de tolérance moins 1; à faire passer ( 176) au troisième état les pixels depuis le début de la suite en cours moins la valeur de tolérance, jusqu'à la fin de la suite en cours plus la valeur de tolérance, dans les lignes de balayage dont les numéros commencent au numéro de la ligne de balayage en cours moins la valeur de tolérance, jusqu'au numéro de la ligne de balayage en cours moins 1; s'il s'agit de l'état blanc, à faire passer ( 178) au troisième état les pixels depuis le début de la suite en cours moins la valeur de tolé- rance, jusqu'à la fin de la suite en cours plus la valeur de tolérance, dans les lignes de balayage dont les numéros commencent au numéro de la ligne de balayage en cours moins la valeur de tolérance, jusqu'au numéro de la ligne de balayage en cours moins 1 s'il a été déterminé que l'état de la suite en cours n'est pas noir; à faire passer ( 180) au troisème état les pixels depuis le début de la suite en cours moins la valeur de tolérance, jusqu'à la fin de la suite en cours plus la valeur de tolérance, dans les lignes de balayage dont les numéros commencent au numéro de la ligne de balayage en cours, jusqu'à la ligne de balayage en cours plus la valeur de tolérance moins 1; si ( 138) le numéro du pixel de fin de la suite sur la ligne de balayage précédente est inférieur au numéro du pixel de fin de la suite sur la ligne de balayage en cours, à comparer ( 140) l'état de la suite sur la ligne de balayage précédente avec l'état de la suite sur la ligne de balayage en cours et, si les états sont les mêmes, à rendre ( 142) le numéro du pixel de début de la suite sur la ligne en cours égal au numéro du pixel de fin de la suite sur la ligne précé- dente plus 1; à avancer ( 144) à une suite consécutive sur la ligne de balayage précédente; si ( 146) lesdits états ne sont pas les mêmes, à déterminer ( 172) l'état de la suite en cours et, s'il s'agit de l'état noir, à faire passer ( 174) au troisième état les pixels depuis le début de la suite en cours moins la valeur de tolé- rance, jusqu'à la fin de la suite en cours plus la valeur de tolérance, dans les lignes de balayage dont les numéros commencent au numéro de la ligne de balayage en cours et pour les lignes de balayage dont le numéro de ligne est égal au numéro de la ligne de balayage en cours plus la valeur de tolérance moins 1; à faire passer ( 176) au troisième état les pixels depuis le début de la suite en cours moins la valeur de tolérance, jusqu'à la fin de la suite en cours plus la valeur de tolérance, dans les lignes de balayage dont les numéros commencent à la ligne de balayage en cours moins la valeur de tolérance, jusqu'au numéro de la ligne de balayage en cours moins 1; s'il s'agit de l'état blanc, à faire passer ( 178) au troisième état les pixels depuis le début de la présente suite moins la valeur de tolé- rance, jusqu'à la fin de la présente suite plus la valeur de tolérance, dans les lignes de balayage dont les numéros commencent à la ligne de balayage en cours moins la valeur de tolérance, jusqu'à la ligne de balayage en cours moins 1; s'il a été déterminé que la suite en cours ne présente pas l'état noir, à faire passer ( 180) au troisième état les pixels depuis le début de la suite en cours moins la valeur de tolérance, jusqu'à la fin de la suite en cours plus la valeur de tolérance, dans les lignes de balayage dont les numéros commencent à la ligne de balayage en cours, jusqu'à la ligne de balayage en cours plus la valeur de tolérance moins 1; si ( 148) le numéro du pixel de fin de la suite sur la ligne de balayage précédente n'est pas inférieur au numéro de pixel de fin de la suite sur la ligne de balayage en cours, à comparer l'état de la suite sur la ligne de balayage précédente avec l'état de la suite sur la ligne de balayage en cours et, si ces états sont les mêmes, à déterminer ( 150) si le pixel de fin de la suite sur la ligne précédente correspond au pixel final de la ligne de balayage en cours; si ( 152) le pixel de fin de la suite en cours est le pixel final de la ligne de balayage en cours, à déterminer ( 160) l'état de la suite en cours; s'il s'agit de l'état noir, à faire passer ( 162) à un troisième état (gris) les pixels depuis le début plus un nombre de pixels inférieur à 1 à une valeur de tolérance, à faire passer ( 164) au troisième état les pixels depuis le numéro du pixel de début moins la valeur de tolérance, jusqu'au numéro du pixel de début moins 1; s'il s'agit de l'état blanc, à faire passer ( 166) au troisième état les pixels depuis le numéro du pixel de début moins la valeur de tolérance, jusqu'au numéro du pixel de début moins 1; à faire passer ( 168 > au troisième état les pixels depuis le pixel de début jusqu'au pixel de début plus la valeur de tolérance moins 1; à avancer ( 154) à une ligne de balayage consécutive; si ( 158) l'état de la suite sur la ligne précédente n'est pas égal à l'état de la suite en cours, à déterminer ( 172) l'état de la suite en cours; s'il s'agit de l'état noir, à faire passer ( 174) au troisième état les pixels depuis le début de la suite en cours moins la valeur de tolérance, jusqu'à la fin de la suite en cours plus la valeur de tolérance, dans les lignes de balayage dont les numéros commencent à la ligne de balayage en cours et pour les lignes de ba- layage dont le numéro est égal au numéro de la ligne de balayage en cours plus la valeur de tolérance moins 1; à faire passer ( 176) au troisième état les pixels depuis le début de la suite en cours moins la valeur de tolé- rance, jusqu'à la fin de la suite en cours plus la valeur de tolérance, dans les lignes de balayage dont les numéros commencent à la ligne de balayage en cours moins la valeur de tolérance, jusqu'au numéro de la ligne de balayage en cours moins 1; s'il s'agit de l'état blanc, à faire passer ( 178) au troisième état les pixels depuis le début de la présente suite moins la valeur de tolérance, jusqu'à la fin de la présente suite plus la valeur de tolérance, dans les lignes de balayage dont les numéros commencent à la ligne de balayage en cours moins la valeur de tolérance, jusqu'à la ligne de balayage en cours moins 1 s'il a été déterminé que l'état de la suite en cours n'est pas noir; à faire passer ( 180) au troisième état les pixels depuis le début de la suite en cours moins la valeur de tolérance, jusqu'à la fin de la suite en cours plus la valeur de tolérance, dans les lignes de balayage dont les numéros commencent à la ligne de balayage en cours, jusqu'à la ligne de balayage en cours plus la valeur de tolérance moins 1; si le numéro du pixel de fin de la ligne précédente n'est pas égal au numéro du pixel final de la ligne de balayage, à avancer ( 156) à des suites consécutives sur les lignes de balayage précédente et en cours, à déterminer ( 157) l'état de la suite en cours; s'il s'agit de l'état noir, à faire passer ( 162) à un troisième état (gris) les pixels depuis le début plus un nombre de pixels inférieur à 1 à une valeur de tolé- rance; à faire passer ( 164) à un troisième état les pixels depuis le numéro du pixel de début moins la valeur de tolérance, jusqu'au numéro du pixel de début moins 1; s'il s'agit de l'état blanc, à faire passer ( 166) au troisième état les pixels depuis le numéro du pixel de début moins la valeur de tolérance, jusqu'au numéro du pixel de début moins 1; à faire passer ( 168) au troisième état les pixels depuis le pixel de début jusqu'au pixel de début plus la valeur de tolérance moins 1; et à recevoir ( 154) des signaux correspondant à une nouvelle ligne de balayage adjacente. 4 Procédé utilisé avec un système ( 20) pour détecter des défauts dans une carte de circuits imprimés (CCI) portant sur elle des motifs de circuit ( 55 >, le système ( 20) recevant une base de données ayant des signaux correspondant à une image de cette CCI, la base de données étant formée par une structure tramée hybride à codage de longueur de suite, comportant une pluralité de lignes de balayage ( 56, 57, 58) constituées d'un ensemble de pixels ayant un premier état (noir) ( 63) ou un second état (blanc) ( 62 >, les lignes de balayage comportant au moins une suite de pixels de même état, caractérisé par les étapes consistant à recevoir ( 125) des signaux correspondant à deux lignes de balayage adjacentes, une ligne de balayage précédente ( 56) et une ligne de balayage en cours ( 57); à comparer ( 126) un numéro de pixel de fin d'une première suite sur la ligne précédente avec le numéro du pixel de fin d'une première suite sur la ligne en cours, si le numéro du pixel de fin de la suite sur la ligne de balayage précédente est supérieur au numéro du pixel de fin de la suite sur la ligne de balayage en cours ( 57), à vérifier ( 128) les états de suites adjacentes sur les lignes de balayage en cours ( 57) et précédente ( 56) et, s'ils sont les mêmes, à fixer ( 130) un numéro du pixel de début de la suite sur la ligne de balayage précédente ( 56) égal à un numéro du pixel de fin de la suite sur la ligne de balayage en cours plus 1; à avancer ( 132) à la suite consécutive sur la ligne de balayage en cours et à déterminer ( 134) après cela l'état de la suite sur la ligne de balayage en cours; s'il s'agit ( 160) de l'état noir, à faire passer ( 162) à un troisième état (gris) les pixels de la ligne de balayage en cours depuis le numéro du pixel de début jusqu'au numéro du pixel de début plus une valeur de tolérance moins 1; à faire passer ( 164) au troisième état les pixels de la ligne de balayage en cours depuis le numéro du pixel de début moins la valeur de tolérance, jusqu'au numéro du pixel de début moins 1; s'il s'agit de l'état blanc, à faire passer ( 166) au troisième état les pixels de la ligne de balayage en cours depuis le numéro du pixel de début moins la valeur de tolérance, jusqu'au numéro du pixel de début moins 1; à faire passer ( 168) au troisième état les pixels de la ligne de balayage en cours depuis le numéro du pixel de début, jusqu'au numéro du pixel de début plus la valeur de tolérance moins 1; si ( 136), l'état de suites adjacentes sur les lignes de balayage en cours et précédente ne sont pas les mêmes, à déter- miner ( 172) l'état de la suite en cours; s'il s'agit de l'état noir, à faire passer ( 174) au troisième état les pixels de la ligne de balayage en cours depuis le début de la suite en cours moins la valeur de tolérance, jusqu'à la fin de la suite en cours plus la valeur de tolérance, pour la ligne de balayage en cours et pour les lignes de balayage ayant un numéro de ligne égal au numéro de la ligne de balayage en cours plus la valeur de tolérance moins 1; à faire passer ( 176 > au troisième état les pixels depuis le début de la suite en cours moins la valeur de tolérance, jusqu'à la fin de la suite en cours plus la valeur de tolérance, dans les lignes de balayage dont les numéros commencent au numéro de la ligne de balayage en cours moins la valeur de tolérance, jusqu'au numéro de la ligne de balayage en cours moins 1; s'il s'agit de l'état blanc, à faire passer ( 178) au troisième état les pixels depuis le début de la suite en cours moins la valeur de tolérance, jusqu'à la fin de la suite en cours plus la valeur de tolérance, dans les lignes de balayage dont les numéros commencent à la ligne de balayage en cours moins la valeur de tolérance, jusqu'à la ligne de balayage en cours moins 1 s'il a été déterminé que l'état de la suite en cours n'est pas noir; à faire passer ( 180) au troisième état les pixels depuis le début de la suite en cours moins la valeur de tolérance, jusqu'à la fin de la suite en cours plus la valeur de tolérance, dans les lignes de balayage dont les numéros commencent à la ligne de balayage en cours, jusuq'à la ligne de balayage en cours plus la valeur de tolérance moins 1; si ( 138) le numéro du pixel de fin de la suite sur la ligne de balayage précédente est infé- rieur au numéro du pixel de fin de la suite sur la ligne de balayage en cours, à comparer ( 140) l'état de la suite sur la ligne de balayage précédente avec l'état de la suite sur la ligne de balayage en cours et, si les états sont les mêmes, à fixer ( 142) le numéro du pixel du début de la suite sur la ligne en cours égal au numéro du pixel de fin de la suite sur la ligne précé- dente plus 1; à avancer ( 140) à une suite consécutive sur la ligne de balayage précédente; si ( 146), lesdits états ne sont pas les mêmes, à déterminer ( 172 > l'état de la suite en cours; s'il s'agit de l'état noir, à faire passer ( 174) au troisième état les pixels depuis le début de la suite en cours moins la valeur de tolé- rance, jusqu'à la fin de la suite en cours plus la valeur de tolérance, dans les lignes de balayage dont les numéros commencent à la ligne de balayage en cours et pour les lignes de balayage ayant un numéro de ligne égal au numéro de la ligne de balayage en cours plus la valeur de tolérance moins 1; à faire passer ( 176) au troisième état les pixels depuis le début de la suite en cours moins la valeur de tolérance, jusqu'à la fin de la suite en cours plus la valeur de tolérance, dans les lignes de balayage dont les numéros commencent à la ligne de balayage en cours moins la valeur de tolérance, jusqu'au numéro de la ligne de balayage en cours moins 1; s'il s'agit de l'état blanc, à faire passer ( 178) au troisième état les pixels depuis le début de la pré- sente suite moins la valeur de tolérance, jusqu'à la fin de la présente suite plus la valeur de tolérance, dans les lignes de balayage dont les numéros commencent à la ligne de balayage en cours moins la valeur de tolérance, jusqu'à la ligne de balayage en cours moins 1 s'il a été déterminé que l'état de la suite en cours n'est pas l'état noir; à faire passer ( 180) au troisième état les pixels depuis le début de la suite en cours moins la valeur de tolérance, jusqu'à la fin de la suite en cours plus la valeur de tolérance, dans les lignes de balayage dont les numéros commencent à la ligne de balayage en cours, jusqu'à la ligne de balayage en cours plus la valeur de tolérance moins 1; si ( 148) le numéro du pixel de fin de la suite sur la ligne de balayage précédente n'est pas inférieur au numéro du pixel de fin de la suite sur la ligne de balayage en cours, à comparer l'état de la suite sur la ligne de balayage précédente avec l'état de la suite sur la ligne de balayage en cours et, si ces états sont les mêmes, à déterminer ( 150) si le pixel de fin de la suite sur la ligne précédente correspond au pixel final de la ligne de balayage en cours; et, si ( 152) le pixel de fin de la suite en cours est ce pixel final de la ligne de balayage en cours, à déterminer ( 160) l'état de la suite en cours; s'il s'agit de l'état noir, à faire passer ( 162) à un troisième état (gris) les pixels depuis le début plus une valeur de tolérance moins 1; à faire passer ( 164) au troisième état les pixels depuis le numéro du pixel de début moins la valeur de tolérance, jusqu'au numéro du pixel de début moins 1; s'il s'agit de l'état blanc, à faire passer ( 166) au troisième état les pixels depuis le numéro du pixel de début moins la 1 o valeur de tolérance, jusqu'au numéro du pixel de début moins 1; à faire passer ( 168 > au troisième état les pixels depuis le pixel de début jusqu'au pixel de début plus la valeur de tolérance moins 1; à avancer ( 154) à une ligne de balayage suivante; si ( 158) l'état de la suite sur la ligne précédente n'est pas égal à l'état de la suite en cours, à déterminer ( 172) l'état de la suite en cours; s'il s'agit de l'état noir, à faire passer ( 174) au troisième état les pixels depuis le début de la suite en cours moins la valeur de tolérance, jusqu'à la fin de la suite en cours plus la valeur de tolérance, dans les lignes de balayage dont les numéros commencent à la ligne de balayage en cours et pour les lignes de balayage ayant un numéro de ligne égal au numéro de la ligne de balayage en cours plus la valeur de tolérance moins 1; à faire passer ( 176) au troisième état les pixels depuis le début de la suite en cours moins la valeur de tolérance, jusqu'à la fin de la suite en cours plus la valeur de tolérance, dans les lignes de balayage dont les numéros commencent à la ligne de balayage qui commence à la ligne de balayage en cours moins la valeur de tolérance, jusqu'au numéro de la ligne de balayage en cours moins 1; s'il s'agit de l'état blanc, à faire passer ( 178) au troisième état les pixels depuis le début de la présente suite moins la valeur de tolérance, jusqu'à la fin de la présente suite plus la valeur de tolérance, dans les lignes de balayage dont les numéros commencent à la ligne de balayage en cours moins la valeur de tolérance, jusqu'à la ligne de balayage en cours moins 1 s'il a été déterminé que l'état de la suite en cours n'est pas l'état noir; à faire passer ( 180) au troisième état les pixels depuis le début de la suite en cours moins la valeur de tolérance, jusqu'à la fin de la suite en cours plus la valeur de tolérance, dans les lignes de balayage dont les numéros commencent à la ligne de balayage en cours, jusqu'à la ligne de balayage en cours plus la valeur de tolérance moins 1; si le numéro de pixel de fin de la ligne précédente n'est pas égal au numéro du pixel final de la ligne de balayage, à avancer ( 156) à des suites consécutives sur les lignes de balayage précédente et en cours, à déter- miner ( 157) l'état de la suite en cours; s'il s'agit de l'état noir, à faire passer ( 162) à un troisième état (gris) les pixels depuis le début plus une valeur de tolérance moins 1; à faire passer ( 164) au troisième état les pixels depuis le numéro du pixel de début moins la valeur de tolérance, jusqu'au numéro du pixel de début moins 1; s'il s'agit de l'état blanc, à faire passer ( 166) au troisième état les pixels depuis le numéro du pixel de début moins la valeur de tolérance, jusqu'au numéro du pixel de début moins 1; à faire passer ( 168) au troisième état les pixels depuis le pixel de début jusqu'au pixel de début plus la valeur de tolérance moins 1; et à recevoir ( 154) des signaux correspondant à une ligne de balayage adjacente sui- vante.