FR 3084499 A1 20200131 FR 1857028 A 20180727 PROCEDE DE RESTRUCTURATION D'OBJETS GRAPHIQUES DESTRUCTURES. L'invention se rapporte au dessin vectoriel 2D ou 3D, et plus précisément à la restructuration d'objets graphiques déstructurés. Il existe plusieurs logiciels de dessin vectoriels, notamment des logiciels de DAO (pour « dessin assisté par ordinateur »), de CAO (pour « conception assistée par ordinateur), les logiciels de simulation de circuits électriques, les logiciels de PAO (pour « publication assistée par ordinateur »), etc. On pourra citer par exemple SolidWorks et DELMIA, développé par la société Dassault Systèmes, Adobe Illustrator, développé par la société Adobe Systems, Core1DRAW Graphics Suite, développé par la société Corel, PSPICE, développé par la société Cadence, AutoCad développé par la société Autodesk, etc. La figure 1 montre un exemple d'interface graphique proposée par ce type de logiciel. L'utilisateur clique avec la souris sur une icône 1 correspondant à l'objet qu'il souhaite voir insérer, par exemple une borne terre, une résistance, ou autre. Un logiciel de dessin vectoriel est programmé pour stocker des données d'image sous la forme de vecteurs graphiques très structurés. Un vecteur graphique peut décrire un objet géométrique, par exemple un segment, un arc de cercle, un polygone, une résistance, une inductance, une vanne, etc., ou bien encore un caractère. Chaque vecteur graphique comprend plusieurs composantes. Par exemple, un vecteur graphique décrivant une inductance peut comprendre : - une composante de position absolue de début de l'inductance, - une composante de position absolue de fin de l'inductance, - une composante de hauteur du bobinage de l'inductance, - une composante d'épaisseur de trait, et - une composante de couleur. Un vecteur graphique décrivant un caractère peut comprendre : - une composante d'identification du caractère, par exemple « M » ou « / », - des composantes de fonte (police, italique ou non, orientation, taille, etc.), 2 - une composante de position absolue dans l'image. La figure 2 représente un ensemble de vecteurs graphiques correspondant à l'image représentée sur la figure 1. A chaque caractère ou chaine de caractères correspond un vecteur de type caractère ou 5 chaine de caractères, et à chaque objet (segment, capacité, résistance, etc.), un vecteur graphique du type correspondant. Dans cet exemple, le vecteur V5(0) correspond ainsi à la portion de fil référencée 2 sur la figure 1, tandis que le vecteur V6(01 correspond à la portion de fil référencée 4, le vecteur V2(0) à la résistance en contact avec 10 cette portion de fil 2, etc. Chaque logiciel de dessin vectoriel met en oeuvre ses propres types de vecteurs. Ainsi, un logiciel de simulation de circuit électrique peut mettre en oeuvre des vecteurs graphiques décrivant des résistances, des capacités, des amplificateurs opérationnels, etc., tandis qu'un logiciel de 15 génie chimique mettra en oeuvre des vecteurs graphiques décrivant des conduits, des réacteurs, des vannes, etc. Une image vectorielle créée au moyen d'un logiciel de dessin vectoriel donné comprend ainsi un ensemble de vecteurs graphiques, en général utilisable par ce seul logiciel. 20 Il est toutefois connu de procéder à une exportation vers un foi mat déstructuré, comme par exemple PDF (pour « Portable Document Format »), PS (« PostScript »), EMF (pour « Enhanced MetaFile »), DXF, SLT (pour « Stereolithography file format »), etc. pour permettre une impression ou un affichage de l'image au moyen d'outils répandus 25 comme les logiciels Adobe Acrobat DC, développé par Adobe Systems. L'ensemble de vecteurs graphiques est alors converti en un ensemble de vecteurs de types moins élaborés, par exemple uniquement des vecteurs de segments, polylignes et de caractères. Ce faisant, le volume occupé par ces données augmente. 30 La figure 3 montre une partie d'un ensemble de vecteurs de bas niveau, ici de type segment ou caractère uniquement, issu d'une conversion de l'ensemble de la figure 2. Les vecteurs correspondant à des chaines de caractères sont décomposés en vecteurs de caractères. Le vecteur V2(0) de l'ensemble de la figure 2, correspondant à la résistance, se voit ainsi converti en huit vecteurs de type segments. Un vecteur de type inductance se verra ainsi converti en plusieurs vecteurs 3 de segments décrivant le fil d'entrée, un grand nombre d'infimes portions de bobinage et le fil de sortie. Or, on estime que le volume de données numériques stockées dans des mémoires double tous les 9 mois environ, ce qui mobilise de 5 plus en plus de ressources mémoire. On estime qu'en 2020, il faudra compter 7 à 9 téraoctets par habitant. On estime aussi que prés de 75% de ces données numériques stockées ne sont pas structurées. En effet, un stockage sous une forme destructurée présente l'avantage d'une plus grande compatibilité en 10 matière d'affichage et une plus grande protection contre les modifications. Néanmoins, ce stockage sollicite d'importantes ressources mémoires. Il existe un besoin pour un procédé permettant de limiter l'espace mémoire pour stocker l'information correspondant à ces données 15 déstructurées, ce qui permettrait de limiter la consommation d'énergie et la pollution environnementale associées à ce stockage. L'article de Jacques Péré-Laperne et Nadine Couture, « Restructuring Unstructured documents », Smart Interfaces 2017, The Symposium for Empowering and Smart Interfaces in Engineering, Juin 20 2017, décrit le principe de l'utilisation d'une méthode ECD (pour « extraction des connaissances des données », en anglais KDD pour «Knowledge Discovery in Databases ») pour retrouver ces informations haut niveau que sont les types de vecteurs à partir d'un ensemble de vecteurs de type segments. Il y est expliqué que les vecteurs de type 25 segment sont codés en une séquence unidimensionnelle afin de limiter le temps de recherche de motif. Un utilisateur humain peut intervenir et valider ou non un motif identifié. Il existe toutefois un besoin pour un procédé plus satisfaisant en termes de résultats. On a pu relever plusieurs erreurs, par exemple des 30 pointillés de type 30 allumés, 30 éteints, peuvent être identifiés à des pointillés de type « 30 allumés, 10 éteints », qui conduisent à sur-solliciter l'utilisateur humain, lequel risque malheureusement de valider à tort un motif. Par exemple aussi, les segments correspondant à une représentation d'une capacité risquent d'être identifiés comme 35 correspondant à un rectangle. 4 Il est proposé un procédé mis en oeuvre par un ou plusieurs processeur(s), de restructuration d'objets graphiques destructurés, comprenant recevoir des informations d'affichage issues d'un logiciel de dessin 5 vectoriel, ces informations d'affichage correspondant à une image et comprenant une séquence de premiers vecteurs graphiques, chaque premier vecteur graphique étant d'un type choisi parmi un jeu d'au moins un type de vecteur, ledit jeu comprenant au moins le type segment, et avantageusement aussi le type caractère, et chaque 10 premier vecteur comprenant au moins une composante de position absolue dans l'image, encoder la séquence de premiers vecteurs graphiques reçue en une séquence de deuxièmes vecteurs graphiques, chaque premier vecteur graphique de type segment de la séquence reçue étant alors 15 converti en un deuxième vecteur graphique de type segment comprenant au moins une composante de position relative à un vecteur précédent (par exemple le vecteur immédiatement précédent, ou l'antépénultième) et dénué de composante de position absolue dans l'image, 20 procéder à une recherche de motifs dans la séquence de deuxièmes vecteurs graphiques, et en cas d'identification ou reconnaissance d'un motif, remplacer dans une séquence de vecteurs graphiques correspondant à l'image les vecteurs correspondant à ce motif par un vecteur du type du motif identifié/reconnu, 25 stocker dans une mémoire, dite de résultat, la séquence affectée par les remplacements. On profite de l'ordonnancement des données déstructurées pour les encoder afin de procéder ensuite à une recherche de motifs 1D. Les informations d'affichage reçues à l'étape a) sont issues d'un 30 logiciel de dessin vectoriel, mais ont subies une ou des conversion(s), de sorte qu'il ne reste par exemple que des vecteurs de type caractère ou segment. Ces informations sont dites déstructurées. Dans un mode de réalisation, il peut ne rester que des vecteurs de type segments, les éventuels caractères étant eux-mêmes ramenés à des 35 segments. Mais avantageusement, les premiers vecteurs peuvent être des vecteurs de type caractère ou des vecteurs de type segment. 5 Le jeu de types de vecteurs peut comprendre un nombre limité de types de vecteurs, par exemple : - segments uniquement, - segment et caractère uniquement, 5 - segment, caractère et poly-ligne uniquement, - segment, caractère, ellipse, rectangle uniquement, - etc. Les informations d'affichage sont ainsi dans un format déstructuré, permettant une restitution de l'image. 10 L'étape a) peut être précédée d'une étape de conversion d'éventuels autres types de vecteurs graphiques par exemple des vecteur de type poly-lignes ou arc-de-cercle, en vecteurs graphiques de type(s) plus simple(s), par exemple en vecteurs graphique de type segment. Le procédé peut ainsi être compatible avec davantage de 15 formats de données déstructurées. Lors de l'étape de conversion, on peut, pour chaque vecteur de type segment, générer un deuxième vecteur comprenant une ou des composantes de position relatives à par exemple un deuxième vecteur précédent celui généré, à un premier vecteur précédent le vecteur 20 courant, ou autre. On peut par exemple choisir le vecteur immédiatement précédent, ou bien encore le vecteur d'un certain type (par exemple segment) immédiatement précédent, auquel cas certains vecteurs (de type caractère par exemple) ne sont pas pris en compte lors de l'élaboration des composantes de position des deuxièmes vecteurs. 25 La recherche de motifs peut avantageusement être structurée en plusieurs étapes, effectuées de façon incrémentale, par exemple : - identification/reconnaissance des lignes pointillées, - identification/reconnaissance des caractères, - identification/reconnaissance de mots, 30 - identification/reconnaissance de symboles de base, puis de symboles complexes, etc. Dans un mode de réalisation, la séquence reçue peut comprendre uniquement des premiers vecteurs de type segments, en particulier si elle résulte d'une conversion dans laquelle les caractères ont été aussi 35 convertis en segments. Le procédé décrit ci-dessus devrait alors permettre d'identifier des motifs correspondant aux caractères. 6 Les remplacements peuvent être avantageusement effectués sur la séquence de premiers vecteurs, ou alternativement sur la séquence de deuxièmes vecteurs, ou sur une autre séquence de vecteurs décrivant l'image. 5 La séquence stockée dans la mémoire de résultat et correspondant à l'image courante peut par exemple être élaborée à partir de la séquence de premiers vecteurs, en y remplaçant les portions de séquence correspondant à des motifs par des vecteurs de types plus élaborés. Ainsi, la séquence stockée en mémoire comprend des données 10 de position absolues, ce qui facilite l'affichage. Les vecteurs stockés dans la mémoire de résultat peuvent ainsi avoir des types plus variés et plus élaborés que les premiers vecteurs. Avantageusement et de façon non limitative, le procédé peut comprendre en outre, préalablement à la recherche de motifs : 15 analyser les composantes de positions absolues des premiers vecteurs graphiques de la séquence reçue pour détecter des levers de plume entre premiers vecteurs graphiques consécutifs dans la séquence, et en cas de lever de plume entre deux premiers vecteurs graphiques consécutifs, insérer dans la séquence de deuxième vecteurs 20 graphiques, entre les deuxièmes vecteurs encodés correspondant à ces deux premiers vecteurs graphiques consécutifs, un deuxième vecteur de type segment et indiquant un déplacement entre lesdits deux deuxièmes vecteurs. Les blancs (parties vides) de l'image sont en quelques sortes 25 encodés en des vecteurs graphiques de type segment/déplacement, et les données correspondantes pourront s'insérer facilement dans la séquence encodée. Le traitement de l'information correspondant à ces blancs sollicite donc relativement peu de ressources mémoire et de calcul. 30 Ce procédé peut ainsi permettre d'économiser des ressources mémoires et de calcul sans détérioration de l'image. Deux lignes de pointillés différentes, par exemple des pointillés de type « 30 allumés, 30 éteints », et des pointillés de type « 30 allumés, 10 éteints » ne seront plus identifiées comme correspondant à un même 35 motif. De la même façon, une représentation d'une capacité ne sera plus identifiée à un rectangle. 7 Ceci permet donc de fiabiliser la reconnaissance de motifs, et donc de parvenir à identifier des motifs de taille (en nombre de premiers segments) plus importante que dans l'art antérieur, permettant d'économiser davantage encore d'espace mémoire. 5 La séquence affectée par les remplacements peut être bien moins volumineuse que la séquence de premiers vecteurs reçue. Ce procédé permet, de façon très simple et peu consommatrice de ressources mémoire et/ou de calcul, de prendre en compte les vides entre objets graphiques. 10 En outre un utilisateur n'ayant à sa disposition qu'un fichier exporté de bas niveau pourrait ainsi manipuler des objets élaborés, comme des inductances. Enfin, l'invention peut permettre de faciliter le passage d'un logiciel de dessin vectoriel à l'autre, notamment lorsqu'un logiciel de 15 dessin vectoriel arrive en fin de vie. Dans un mode de réalisation avantageux, on détecte des levers de plume entre premiers vecteurs graphiques de type objet graphique (segment, polyligne, cercle, etc.) consécutifs dans la séquence. Dit autrement, les vecteurs de caractères ne sont pas pris en compte dans 20 la recherche de levers de plume. Par exemple, on analyse les composantes de position absolues des premiers vecteurs de type segment, et l'on insère des vecteurs de déplacement entre les deuxièmes vecteurs correspondants. Alternativement, les types de vecteurs peuvent ne pas être pris en 25 compte dans la recherche de levers de plume. Dans un mode de réalisation, on peut utiliser des séquences de deuxièmes vecteurs issues d'autres images pour faciliter la recherche de motifs. Si par exemple, l'exécution du procédé pour d'autres images a 30 permis d'identifier la portion de séquence de deuxièmes vecteurs correspondant à une inductance, on pourra directement rechercher cette portion de séquence parmi la séquence de deuxièmes vecteurs issue de l'image courante. Le terme « reconnaissance » correspond ainsi à un motif identifié précédemment, stocké en mémoire avec la portion 35 de séquence de deuxièmes vecteurs correspondante, et que les moyens de traitement peuvent facilement reconnaître dans la séquence de deuxièmes vecteurs courante. 8 Dans un mode de réalisation avantageux, l'identification d'un motif peut être conditionnée par une validation utilisateur. Dit autrement, si les moyens de traitement détectent un nombre, par exemple deux, trois ou davantage, de portions de séquences identiques 5 ou proches dans la séquence de deuxième vecteurs courante, on peut prévoir une étape d'envoi vers une interface utilisateur d'un message de demande de validation, et en cas de réception d'un message de réponse positive, on remplace les vecteurs correspondant à ce motif par un vecteur ayant un type correspondant au motif identifié. 10 Le type de vecteur peut être choisi par l'utilisateur : par exemple, le message reçu de l'utilisateur peut comprendre une chaine de caractères encodée, correspondant par exemple à « capacité ». Les moyens de traitement créent alors un nouveau type de vecteur, correspondant à cette chaine de caractères. 15 L'utilisateur peut avantageusement rattacher le motif identifié à un objet d'une ontologie. Avantageusement, en cas de validation utilisateur, la portion de séquence de deuxièmes vecteurs peut être stockée en mémoire, avantageusement avec des informations quant au type de vecteur 20 correspondant. Ces valeurs stockées pourront avantageusement être utilisées pour le traitement d'autres images. Avantageusement et de façon non limitative, la portion de séquence de premiers et/ou deuxièmes vecteurs (ou éventuellement d'autres vecteurs générés à partir des premiers vecteurs) correspondant 25 à un motif identifié, peut être stockée sous 'bulle structurée, avantageusement avec des informations quant au type de vecteur correspondant, dans une ontologie. Il peut être avantageux de conserver des premiers vecteurs dans l'ontologie, pour le cas où la technique d'encodage des premiers 30 vecteurs en deuxièmes vecteurs évoluerait. Ces premiers vecteurs peuvent en outre servir à des confrontation 2D ou 3D le cas échéant. Un stockage de deuxièmes vecteurs dans l'ontologie permet des comparaisons aisées avec une séquence encodée courante. 35 Dans un mode de réalisation, on peut en outre prévoir que la reconnaissance d'un motif soit conditionnée par une validation utilisateur. 9 Dans un mode de réalisation non limitatif, lors de la recherche de motifs dans la séquence de deuxièmes vecteurs graphiques, en cas d'identification ou de reconnaissance d'un motif, on peut comparer un ensemble de premiers vecteurs de la séquence reçue et correspondant à 5 ce motif à un autre ensemble de premiers vecteurs de la séquence reçue et correspondant aussi à ce motif identifié, ou à un ensemble de premiers vecteurs stocké en mémoire de façon à être associé à ce motif. Le remplacement dans la séquence de vecteurs graphiques correspondant à l'image des vecteurs correspondant à ce motif par un 10 vecteur du type du motif identifié/reconnu peut être conditionné par le résultat de la/des comparaison(s). Ainsi, le procédé peut intégrer des étapes de traitement d'image vectorielle dans un format 2D (ou 3D dans le cas de premiers vecteurs issus d'un logiciel de dessin vectoriel 3D) afin de valider les ou de 15 participer aux identifications/ reconnaissances. Comme ces confrontations sont réalisées sur des petites portions d'images (les ensembles de premiers vecteurs comparés entre eux), en nombre limité, et donc sur un nombre de vecteurs réduit, on limite la mobilisation des ressources mémoire et/ou de calcul nécessaires. Ceci peut permettre de 20 limiter les sollicitations utilisateurs. Ainsi, en combinant encodage des premiers vecteurs en une séquence unidimensionnelle et traitement d'images vectorielles 2D sur des petites portions d'images, on peut restructurer les données de façon plus fiable que dans l'art antérieur, ce qui permet de moins interroger 25 un utilisateur humain et de limiter davantage l'espace mémoire alloué au stockage de la séquence restructurée. La recherche de motif peut être considérée comme aboutissant à un résultat positif même si les portions de séquence 1D ne concordent pas parfaitement, les comparaisons ultérieures des premiers vecteurs 30 correspondants permettant de valider ou non ce résultat. Par exemple, lorsqu'un motif stocké dans une ontologie est reconnu dans une séquence 1D courante, on peut comparer la portion des informations d'affichage reçues correspondant à ce motif avec des premiers vecteurs stockés dans l'ontologie et associés au motif, afin de 35 valider la reconnaissance. Par exemple, lorsque deux motifs proches sont identifiés dans la séquence de deuxièmes vecteurs, on peut confronter les ensembles de 10 premiers vecteurs (des informations d'affichage reçues) correspondant à ces motifs, avant de valider l'identification. Par exemple, lorsqu'un même motif est identifié dans la séquence de deuxièmes vecteurs, on peut confronter les premiers vecteurs 5 correspondants (des informations d'affichage reçues) à un jeu de premiers vecteurs correspondant à un jeu de motifs préalablement identifiés et stockés dans une mémoire. Lorsque cette mémoire est structurée en ontologie, le nombre de comparaisons peut être réduit car on s'abstiendra par exemple d'effectuer des comparaisons avec des 10 données d'image relatives au génie chimique si l'on a déjà identifié des composants électriques dans l'image courante. Cette étape peut permettre de valider la création d'un nouveau type de vecteur ou de rattacher le motif identifié à un type de vecteur déjà stocké dans l'ontologie. 15 L'utilisateur peut aussi participer au choix du jeu de premiers vecteurs à comparer, par exemple en saisissant une chaine de caractères, par exemple « AO » ou « inductance », ou bien encore en sélectionnant un objet de l'ontologie. Le procédé peut prévoir une étape de génération de message 20 d'affichage d'une image correspondant à l'ensemble de vecteurs considéré comme le plus proche à l'issue de la comparaison, à des fins de validation utilisateur. Dans le cas d'un fichier déstructuré issu d'un logiciel de dessin vectoriel 3D, les premiers vecteurs comprennent des composantes de 25 position tridimensionnelles, et la recherche de motifs est effectuée sur une séquence unidimensionnelle, comme pour des vecteurs 2D. En revanche, l'éventuelle confrontation des portions de séquence de premiers vecteurs correspondant aux motifs identifiés fait alors intervenir des valeurs 3D de composantes de position. 30 Avantageusement et de façon non limitative, lors de l'encodage de la séquence de premiers vecteurs en une séquence de deuxièmes vecteurs, on encode au moins premier vecteur de type caractère en un deuxième vecteur dénué de composante permettant d'identifier le caractère correspondant à ce premier vecteur. 35 Ainsi, les contenus des textes ne sont pas pris individuellement en compte dans la codification. On joue ainsi sur le fait que leur 11 position et leur contenu peut varier d'une occurrence d'un symbole à l'autre. Ce deuxième vecteur peut être dénué de composante de position. Ce deuxième vecteur peut être de type caractère, ou 5 avantageusement de type chaine de caractères. Ce deuxième vecteur, lorsque de type chaine de caractère peut avantageusement être dénué de composante indiquant une longueur de chaine. Avantageusement, chaque premier vecteur de type caractère 10 suivant immédiatement dans la séquence reçue un vecteur de type segment peut être converti en un deuxième vecteur d'un type de chaine de caractère ou caractère, ledit deuxième vecteur étant dénué de composante permettant d'identifier le caractère correspondant à ce premier vecteur. 15 Dans un mode de réalisation, même le ou les premiers vecteurs de type caractère suivant immédiatement ce premier vecteur de type caractère suivant immédiatement dans la séquence reçue un vecteur de type segment sont encodés en un ou des, respectivement, deuxièmes vecteurs, avantageusement dénués de composante d'identification de 20 contenu. Mais avantageusement et de façon non limitative, en cas d'un ou plusieurs premiers vecteurs de type caractères suivant immédiatement dans la séquence ce premier vecteur de type caractère (suivant immédiatement dans la séquence reçue un vecteur de type segment) 25 encodé, on s'abstient d'encoder cet ou ces premiers vecteurs dans la séquence de deuxièmes vecteurs graphiques. Dit autrement, l'ensemble des vecteurs de type caractère consécutifs peut être encodée en un seul vecteur, de type chaîne de caractères. Par exemple, une image de schéma électrique représentant un 30 circuit avec deux bobines pourra contenir une chaine de caractères « KM1 » pour la première bobine et « KM99 » pour la deuxième bobine. En s'affranchissant du contenu exact et avantageusement de la position de l'étiquette de chaque bobine et de sa longueur, on facilite l'identification du motif 35 Le procédé peut ainsi être plus performant que l'art antérieur en matière d'identification et de reconnaissance de motif, car deux symboles différents l'un de l'autre simplement de par leurs étiquettes 12 seront encodés en une même portion de séquence de deuxièmes vecteurs et donc plus facilement identifiés/reconnus. Les vecteurs correspondants aux chaines de caractères « KM1 » et « KM99 » correspondront ainsi à un même type d'étiquette, 5 indépendamment du contenu de ces étiquettes et de leur position. On peut par exemple prévoir d'encoder en un deuxième vecteur de type caractère le premier caractère suivant un segment et de s'abstenir d'encoder les vecteurs de type caractères suivants. Classiquement, chaque premier vecteur de type caractère 10 comprend en outre des composantes de fonte. Avantageusement et de façon non limitative, en cas de détection d'une pluralité de premiers vecteurs de type caractère consécutifs, on compare leurs composantes de fonte, et l'absence d'encodage du ou des premiers vecteurs de type caractère suivant immédiatement le premier 15 vecteur de type caractère suivant immédiatement un vecteur de type segment est conditionnée par le résultat de la comparaison. Ainsi, on pourra s'abstenir d'encoder un deuxième vecteur de type chaine de caractère seulement si les polices des caractères adjacents sont identiques. On présume en quelques sortes que deux caractères de 20 fontes différentes n'appartiennent pas à la même étiquette. Avantageusement et de façon non limitative, le deuxième vecteur d'un type de chaine de caractères comprend au moins une composante de fonte, par exemple la totalité des composantes de fonte des premiers vecteurs correspondant, ou bien encore une information de fonte 25 réduite, par exemple simplement une information de taille de caractère et/ou une information de police. Dans un mode de réalisation avantageux et non limitatif, en cas d'identification d'un motif, on peut stocker dans une mémoire structurée en ontologie la séquence de premiers et/ou deuxièmes 30 vecteurs correspondant au motif identifié avec des informations quant au type de vecteur correspondant. Ce procédé peut permettre de faciliter la reconnaissance ultérieure de motifs, notamment pour des images qui ne représenteraient qu'une seule fois le symbole correspondant. On peut 35 ainsi gagner en efficacité, et donc limiter l'espace mémoire de résultat et le temps de traitement. 13 Cette étape de stockage peut être précédée par une étape de comparaison du motif identifié avec les motifs déjà stockés dans l'ontologie, et être conditionnée à l'absence de reconnaissance de ce motif parmi ceux déjà présents dans l'ontologie. 5 Dans un mode de réalisation, l'utilisateur peut intervenir préalablement au stockage dans l'ontologie, pour l'autoriser et/ou désigner un objet de l'ontologie auquel rattacher le motif nouvellement identifié. Dans un mode de réalisation avantageux et non limitatif, on peut 10 utiliser au cours de la recherche de motif des portions de séquence de premiers et/ou deuxièmes vecteurs stockées dans une mémoire structurée en ontologie, chacune de ces portions correspondant à un symbole classé dans l'ontologie. La recherche de motif peut ainsi gagner en fiabilité. 15 Avantageusement, en cas d'identification d'un motif au sein de la séquence de deuxièmes vecteurs, on procède à une recherche de ce motif parmi les motifs stockés dans l'ontologie, à des fins de validation. Dans un mode de réalisation, on peut prévoir qu'en cas d'échec, l'utilisateur soit solliciter pour approuver un nouveau motif ou éliminer 20 ce nouveau motif. En cas d'approbation, les vecteurs correspondant au nouveau motif peuvent être stockés dans l'ontologie. Il est également proposé un dispositif de restructuration d'objets graphiques numériques destructurés, comprenant 25 des moyens de réception agencés pour recevoir des informations d'affichage issues d'un fichier source d'un logiciel de dessin vectoriel, ces informations d'affichage correspondant à une image et comprenant une séquence de premiers vecteurs graphiques, chaque premier vecteur graphique étant d'un type choisi parmi un jeu d'au moins un type de 30 vecteur, ledit jeu comprenant au moins le type segment, et avantageusement aussi le type caractère, et chaque premier vecteur comprenant au moins une composante de position absolue dans l'image, des moyens de traitement agencés pour 35 - encoder la séquence de vecteurs graphiques reçue par les moyens de réception en une séquence de deuxièmes vecteurs graphiques, chaque premier vecteur graphique de type segment de la séquence reçue étant 14 alors converti en un deuxième vecteur graphique de type segment comprenant au moins une composante de position relative et dénué de composante de position absolue dans l'image, - procéder à une recherche de motifs dans la séquence de 5 deuxièmes vecteurs graphiques, et en cas d'identification ou reconnaissance d'un motif, remplacer dans une séquence de vecteurs graphiques correspondant à l'image les vecteurs correspondant à ce motif par un vecteur du type du motif identifié/reconnu, et une mémoire pour stocker la séquence affectée par les 10 remplacements. Ces dispositif de restructuration peut comprendre ou être intégré dans un ou plusieurs processeurs, par exemple des microcontrôleurs, des microprocesseurs ou autres. Les moyens de réception sont par exemple un port d'entrée, une 15 broche d'entrée, ou autre. Les moyens de traitement peuvent par exemple comprendre un coeur de processeur ou CPU (de l'anglais « Central Processing Unit »). On peut prévoir aussi des moyens de transmission, par exemple un port de sortie, une broche de sortie ou autre, en communication 20 avec des mémoire et une interface utilisateur, par exemple un écran d'affichage. La mémoire peut être intégrée au processeur, mais avantageusement on choisira une mémoire externe, par exemple un disque dur d'un ordinateur intégrant le processeur, ou bien encore une 25 mémoire distante, accessible par exemple via Internet. Dans un mode de réalisation, les moyens de traitement peuvent être agencés pour analyser les composantes de positions absolues des premiers vecteurs graphiques de la séquence reçue pour détecter des levers de plume entre premiers vecteurs graphiques consécutifs dans la 30 séquence, et en cas de lever de plume entre deux premiers vecteurs graphiques consécutifs, insérer dans la séquence de deuxième vecteurs graphiques, entre les deuxièmes vecteurs encodés correspondant à ces deux premiers vecteurs graphiques consécutifs, un deuxième vecteur de type segment et indiquant un déplacement entre lesdits deux deuxièmes 35 vecteurs. Dans un mode de réalisation, les moyens de traitement peuvent être agencés pour lors de la recherche de motifs dans la séquence de 15 deuxièmes vecteurs graphiques, en cas d'identification ou de reconnaissance d'un motif, comparer un ensemble de premiers vecteurs de la séquence reçue et correspondant à ce motif à un autre ensemble de premiers vecteurs de la séquence reçue et correspondant aussi à ce 5 motif identifié, ou à un ensemble de premiers vecteurs stocké en mémoire de façon à être associé à ce motif. Le remplacement dans la séquence de vecteurs graphiques correspondant à l'image des vecteurs correspondant à ce motif par un vecteur du type du motif identifié/reconnu est conditionné par le 10 résultat de la/des comparaison(s). Dans un mode de réalisation, les moyens de traitement peuvent être agencés pour lors de l'encodage de la séquence de premiers vecteurs en une séquence de deuxièmes vecteurs, encoder au moins premier vecteur de type caractère en un deuxième vecteur dénué de 15 composante permettant d'identifier le caractère correspondant à ce premier vecteur. Dans un mode de réalisation, les moyens de traitement peuvent être agencés pour convertir chaque premier vecteur de type caractère suivant immédiatement dans la séquence reçue un vecteur de type 20 segment, en un deuxième vecteur d'un type de chaine de caractère ou caractère, ledit deuxième vecteur étant dénué de composante permettant d'identifier le caractère correspondant à ce premier vecteur. En cas d'un ou plusieurs premiers vecteurs de type caractères suivant immédiatement dans la séquence ce premier vecteur de type 25 caractère encodé, les moyens de traitement peuvent comparer des composantes de fonte desdits premiers vecteurs, et selon le résultat de la comparaison, on s'abstient d'encoder cet ou ces premiers vecteurs dans la séquence de deuxièmes vecteurs graphiques. Dans un mode de réalisation, les moyens de traitement peuvent 30 être agencés pour, en cas d'identification d'un motif, stocker dans une mémoire structurée en ontologie la séquence de premiers et/ou deuxièmes vecteurs correspondant au motif identifié avec des informations quant au type de vecteur correspondant. Dans un mode de réalisation, les moyens de traitement peuvent 35 être agencés pour utiliser au cours de la recherche de motif des portions de séquence de premiers et/ou deuxièmes vecteurs stockées dans une 16 mémoire structurée en ontologie, chacune de ces portions correspondant à un symbole classé dans l'ontologie. Pour chacun des procédés décrits ci-dessus, il est en outre proposé un produit programme d'ordinateur comprenant des 5 instructions ou portions de code pour exécuter les étapes de ce procédé lorsque ces instructions sont exécutées par un processeur. Ce programme peut par exemple être stocké sur un support mémoire de type disque dur, téléchargé, ou autre. D'autres caractéristiques et avantages de l'invention apparaîtront 10 au cours de la description suivante d'une de ses formes de réalisation, donnée à titre d'exemple non limitatif, en référence aux dessins annexés, dans lesquels : - la figure 1, déjà commentée, est une vue schématique d'une interface graphique d'un exemple de logiciel de dessin vectoriel, du type connu 15 de l'art antérieur. - La figure 2, déjà commentée, montre un ensemble de vecteurs générés par ce logiciel et correspondant à l'image affichée sur l'interface graphique de la figure 1. - La figure 3, déjà commentée, montre une séquence de premiers 20 vecteurs SEQ1 résultats d'une conversion dans un foiniat déstructuré, comme par exemple PDF, de l'ensemble de vecteurs de la figure 2. - La figure 4 montre une séquence de deuxièmes vecteurs SEQ2 obtenue à partir de la séquence de la figure 3 lors de l'exécution d'un 25 procédé selon un mode de réalisation de l'invention. - La figure 5 est un logigramme illustrant très schématiquement un exemple de procédé de restructuration d'un document déstructuré selon un mode de réalisation de l'invention, - La figure 6 montre une séquence additionnelle SEQ2' de deuxièmes 30 vecteurs obtenue à partir de la séquence de la figure 3 lors de l'exécution d'un procédé selon un mode de réalisation de l'invention. - La figure 7 illustre schématiquement deux portions de deux séquences respectives de premiers vecteurs, obtenues à partir de fichiers dans des formats déstructurés différents, et correspondant au 35 même symbole. - La figure 8 montre schématiquement un exemple de dispositif selon un mode de réalisation de l'invention. 17 En référence à la figure 5, un microprocesseur peut au cours d'une étape 500 recevoir un document de type PDF, ici nommé PDF file. Ce document comprend des données déstructurées du type de celles visibles sur la figure 3, c'est-à-dire des vecteurs de types simples. 5 Cet ensemble de vecteurs graphiques de bas niveau est stocké sous forme de séquence. Sur la figure 3 on n'a représenté que des vecteurs de type segment et caractère mais on comprendra que parmi les types simples on peut, selon les logiciels d'affichage ou d'impression, compter des vecteurs de 10 type polyligne, arc de cercle ou autre. Aussi le procédé comprend-t-il une étape 501 de conversion de l'ensemble de vecteurs reçus à l'étape 500 en une séquence de vecteurs graphiques de type caractère ou segment uniquement. Chaque vecteur graphique de cette séquence SEQ1 comprend des 15 données de position absolue dans l'image. Par exemple, dans l'exemple de la figure 3, chaque vecteur comprend des valeurs de coordonnées de type x , y de position de début du segment ou du caractère et, dans le cas d'un vecteur de type segment des valeurs de coordonnées de type x , y de position de fin du segment. 20 Les figures se rapportent à des dessins vectoriels 2D, mais on comprendra que le procédé peut aisément être généralisé à des dessins vectoriels 3D, auquel cas les données de position absolue peuvent par exemple comprendre des coordonnées x,y,z. Chaque vecteur peut comprendre en outre des composantes de 25 fonte et un identifiant du caractère, dans le cas d'un vecteur de caractère, et dans le cas d'un vecteur de segment, des composantes de couleur, d'épaisseur de trait, de stylo, de brosse, etc. Dans cet exemple, cette séquence de premiers vecteurs est convertie en deux séquences de deuxièmes vecteurs SEQ2, SEQ2', au 30 cours d'étapes respectives 502, 503. Les deuxièmes vecteurs de ces séquences SEQ2, SEQ2' sont dénués de composantes indiquant des positions absolues dans l'image. Pour chaque deuxième vecteur (à partir du deuxième dans l'ordre de la séquence) de type segment, les composantes de position de ce 35 vecteur sont relatives à un vecteur précédent. 18 Plus précisément, la figure 4 montre un exemple de deuxièmes vecteurs d'une séquence SEQ2 susceptibles d'être obtenu à partir de la séquence de la figure 3. Les deuxièmes vecteurs de cette séquence SEQ2 contiennent une 5 information de position élaborée à partir d'une position de fin du deuxième vecteur précédent, et sont dénués d'information de position s'ils correspondent à des chaines de caractère. Un deuxième vecteur de type segment ou déplacement comprend une composante de valeur d'angle, indiquant une direction du vecteur 10 depuis un point correspondant à la fin du vecteur de type segment précédent, et une longueur. Cette codification est ainsi insensible à la translation. La direction est prise dans le référentiel de l'image, c'est-à-dire qu'un angle de 0° ou de 180° correspond à l'horizontale. La longueur est 15 exprimée en unités de longueur, par exemple en cm, en nombre de pixels, etc. En revanche, les deuxièmes vecteurs de type segment de la séquence SEQ2' comprennent simplement une indication de la longueur et de l'angle, ces deux indications étant élaborées à partir, 20 respectivement, de la longueur et de l'orientation du segment précédent. Par exemple : - une valeur H correspond à un segment horizontal, par rapport à la direction du segment précédent, c'est-à-dire dans la continuité du segment précédent, et plus grand que le segment précédent, 25 - une valeur h indique un segment horizontal par rapport à la direction du segment précédent, c'est-à-dire dans la continuité du segment précédent, et plus petit que le segment précédent, - une valeur O indique un segment oblique par rapport à la direction du segment précédent, et plus grand que le segment 30 précédent, - une valeur o indique un segment oblique par rapport à la direction du segment précédent, et plus petit que le segment précédent, etc. Cette séquence SEQ2' est avantageuse en ce sens qu'elle peut 35 permettre de détecter des motifs avec des orientations différentes et/ou des dilatations (effets de zooms). Cette codification est non seulement 19 insensible à la translation mais aussi à la rotation et aux changements d'échelle. Pour revenir à la séquence SE Q2 , le premier vecteur correspondant au caractère « R » est encodé en un vecteur de chaine de 5 caractères. Le processeur passe ensuite au traitement du vecteur Via(1) correspondant au caractère « 1 » de la figure 1. Comme ce vecteur suit un vecteur de caractère dans la séquence reçue, il compare les fontes de ces premiers vecteurs. 10 Lorsque plusieurs vecteurs consécutifs de type caractère sont identifiés, le procédé comprend ainsi par exemple une étape de comparaison des polices et des tailles de caractère. En cas d'identité des polices et des tailles de caractères, aucun deuxième vecteur graphique, de type chaine de caractère, n'est créé 15 pour le vecteur de caractère suivant. En l'occurrence, le caractère « 1 » ayant une police et taille de caractère identiques à celles du caractère « R », on considère en quelques sortes que le « 1 » fait partie de la même chaine de caractères, ou étiquette créée pour le « R ». 20 Ce type d'étiquette, par exemple stringl, étant associé à une taille et à une police, aucune valeur de fonte ne figure en tant que composante de vecteur. On stocke en mémoire l'identifiant de l'étiquette stringl et la fonte associée. 25 Dans un mode de réalisation alternatif et non représenté, le deuxième vecteur correspondant pourrait être de type {string ; size ; police...). La composante de position de ce deuxième vecteur n'est pas non plus définie. En revanche, ce deuxième vecteur, de type chaine de 30 caractère participera à la reconnaissance/identification de motif de par son ordonnancement dans la séquence SEQ2. Le vecteur V2,1(1) correspondant au fil d'entrée de résistance référencé 3 sur la figure 1, est ensuite encodé en un deuxième vecteur de type segment. Ce fil étant horizontal dans l'image, on choisit un 35 angle de 0°. La longueur de ce vecteur est de 5 mm. Le processeur détermine ensuite qu'il y a eu un lever de plume entre ce vecteur V2,1(1) et le vecteur suivant V2,2(1) . Il suffit pour cela de 20 comparer les positions de fin du vecteur V2,1(1) et les positions absolues de début du vecteur V2,2(1). Le test est en l'occurrence négatif car ces positions sont identiques. Les autres vecteurs V2,2(1),..., V2,s(1),sont encodés les uns après les 5 autres, en recherchant à chaque fois les éventuels levers de plume. Le processeur ne détecte pas non plus de lever de plume entre le vecteur V2,8(1) et le vecteur V4,1(1). En revanche, dessiner une capacité implique des levers de plume, et les coordonnées de fin du vecteur V4,1(1) diffèrent de celles du début 10 du vecteur V4,2(1). Est donc généré un vecteur de type lever de plume V4,1_4,2(2), dont les premiers bits sont occupés par une valeur seg' indiquant un déplacement et structuré comme un vecteur de segment. Le déplacement étant vertical et de 3 mm, le processeur choisit un 15 angle de 90°, et une longueur de 3 mm. Ensuite, le processeur traite le vecteur suivant V4,2(1), lequel correspond à la première barre verticale de la capacité, puis un nouveau lever de plume est détecté, etc. Les différents segments correspondant initialement à la capacité 20 C2 sont ainsi encodés un par un, en prenant en compte les levers de plume. En référence à la figure 6, on a représenté un exemple de portion de séquence de deuxièmes vecteurs SEQ2'. Là encore, on insère des vecteurs de déplacement et des vecteurs de type étiquette. 25 Chaque premier vecteur segment de la séquence déstructurée SEQ1 est convertie en un deuxième vecteur segment ayant des composantes d'orientation et de longueur relatives à respectivement l'orientation et la longueur du vecteur segment précédent. Par exemple, le vecteur de déplacement V4,1_4,2121 correspondant 30 au premier lever de plume de la capacité pourrait se voir affecter une valeur v (pour « vertical et plus petit par rapport au segment de fil d'entrée ») et un facteur de 3, car la longueur de ce déplacement est environ trois fois plus faible que la longueur du segment précédent (référencé 5 sur la figure 1). 35 Dans l'exemple illustré sur la figure 6, plutôt que d'opter par un encodage en lettre (h, H, o, O, y, V), on a choisi d'indiquer l'écart d'angle entre l'orientation du vecteur segment précédent et celle du vecteur 21 courant, et un rapport de longueur. Le vecteur de déplacement V4,1_4,2(2') correspond ainsi à une rotation de 90° par rapport à l'orientation du vecteur précédent et à un rapport de longueurs de 0,33. Le segment suivant V4,2(21, correspondant à la référence 6 sur la 5 figure 1, pourrait se voir affecter une valeur H, pour « horizontal et plus grand que le segment/déplacement précédent ») et un rapport de longueurs de 2 par rapport au vecteur de déplacement. Dans l'exemple illustré sur la figure 6, à ce segment correspond un angle de 180° et un rapport de longueurs de 2. 10 Les valeurs choisies pour le premier segment de la séquence V2,1(2) sont arbitraires. Pour revenir à la figure 5, on procède ensuite à des recherches de motifs (« pattern » en anglais ) sur chacune de ces deux séquences SEQ2, SEQ2'. 15 On pourra avoir recours à des méthodes de type ECD, notamment en appliquant des algorithmes dits de « Suffix Array » et de « LCP array » (pour « Long Commun Prefix »).. On pourra fixer des seuils avant mettre à un une variable pattern intra. Par exemple, dans un premier temps, on pourra fixer à 2, 20 5 ou 10 le nombre d'occurrences d'un motif nécessaire pour le test 504 soit considéré comme positif. Ce seuil peut être choisi par l'utilisateur afin de mieux correspondre à l'image visualisée. Un utilisateur voyant affiché le circuit de la figure 1 pourra choisir un seuil de 2 ou de trois par exemple. Dans 25 le cas de circuits plus complexes, le seuil pourra être de 10 par exemple. Par exemple, trois portions de séquence des séquences SEQ2 et SEQ2', correspondant de facto aux vecteurs décrivant les trois résistances de la figure 1, peuvent être sélectionnées car relativement proches. 30 Lorsqu'un motif est identifié sur l'une et/ou l'autre des séquences SEQ2, SEQ2', les premiers vecteurs, de la séquence SEQ1, correspondant aux motifs sont comparés entre eux au cours d'une étape 505, afin de valider ou non l'identification. Si l'identification du motif est confirmée, le processeur compare 35 alors les deuxièmes vecteurs de la séquence SEQ2 (et /ou de la séquence SEQ2'), correspondant aux motifs, au cours d'une étape 506, 22 à des deuxièmes vecteurs stockés dans une ontologie et correspondant à des motifs préalablement identifiés. Dans un mode de réalisation, on peut prévoir que si ces comparaisons de portions de séquence de deuxièmes vecteurs 5 aboutissent à un résultat positif, on compare alors les portions de séquence de premiers vecteurs correspondantes, à des fins de confirmation ou d'infirmation. L'étape 506 peut ainsi être à la fois rapide à mener et fiable. Si la portion de séquence issue de la séquence SEQ2' par exemple 10 et correspondant au motif identifiée est reconnue comme identique ou proche d'une séquence stockée dans l'ontologie, (et ce résultat éventuellement confirmé par une analyse 2D ou 3D) alors le motif identifié peut être associé à une description correspondante figurant dans l'ontologie, par exemple « résistance ». On remplace alors dans la 15 séquence SEQ1 les vecteurs correspondants par des vecteurs du type correspondant, ici par des vecteurs de type résistance, au cours d'une étape 507. Si le test 506 est négatif, c'est-à-dire que le processeur n'a pas retrouvé dans l'ontologie le motif identifié au cours des tests 504, 505, 20 alors un message est envoyé vers une interface utilisateur au cours d'une étape 508. Ce message peut par exemple commander une colorisation des zones de l'image affichée correspondant à ces motifs. On peut aussi prévoir un seuil relatif au nombre de premiers 25 vecteurs du motif. Par exemple, ne seront montrés à l'utilisateur que les motifs de plus de trois vecteurs, ou les motifs correspondant à une longueur cumulée (somme des composantes de longueur des différents vecteurs de la séquence SEQ2) de plus de 3 cm. Le processeur reçoit ensuite une réponse resp user, et si elle est 30 positive (test 509), alors l'ontologie se voit enrichie d'un nouveau symbole correspondant au motif identifié (étape 510). On peut prévoir de stocker une portion de séquence de premiers vecteurs correspondant à ce motif et une portion de séquence de deuxième vecteurs, et des données de structure des vecteurs du nouveau type ainsi créé 35 (identifiant, description des segments et éventuelles étiquettes composant le symbole, éventuels points de connexion, etc.). 23 Puis on allège la séquence SEQ1 en procédant aux remplacements correspondants (étape 507). On relèvera que les remplacements de l'étape 509 sont effectués en prenant en compte les translations, rotations et homothéties, afin 5 d'éviter toute perte d'information sur la séquence SEQ1. Si les tests 505, 509 sont négatifs, et après l'étape 507, on retourne à l'étape 504 de recherche de motifs à partir de données 1D. Si un nouveau motif est identifié, le test 504 est alors encore considéré comme positif, etc. 10 Lorsque la recherche de motifs sur les séquences SEQ2 et SEQ2' est terminée, la séquence SEQ1, affectée par les éventuels remplacements de portions de séquences de l'étape 507, est stockée dans une mémoire de résultat au cours d'une étape 511. Concernant l'arborescence de données de l'ontologie, on pourra 15 utiliser le logiciel Protégé développé par l'université de Stanford. Les grandes lignes de l'ontologie sont ainsi fournies à l'utilisateur, mais elle se développe et évolue au fur et à mesure de l'utilisation du procédé. En référence à la figure 7, on a représenté un affichage d'une 20 image au format PDF et un affichage d'une image au format PostScript. Chacune de ces images représente notamment une résistance. Compte tenu de cette différence de format de données déstructurées, il est possible que la séquence de premiers vecteurs correspondant aux segments 111-118 soit ordonnée de façon différente que la séquence de 25 premiers vecteurs correspondant aux segments 111'-118', come illustré sur la figure 7. Par exemple, un format peut prévoir de générer la séquence en cherchant le segment le plus proche, tandis qu'un autre foi mat peut générer la séquence par des balayages réguliers. Ces deux séquences de premiers vecteurs de type segments 30 aboutiront lors de l'exécution du procédé à deux séquences de deuxièmes vecteurs toujours ordonnées différemment l'une de l'autre. Un premier modif 1D peut être reconnu sur la première séquence et un deuxième motif 1D peut être par exemple identifié sur la deuxième séquence. 35 Dans cet exemple, le premier motif 1D est déjà conservé dans une ontologie. 24 Le procédé peut alors prévoir une étape de traitement 2D de confrontation des premiers vecteurs correspondants au premier motif 1D de premières données avec des premiers vecteurs correspondants au 2ème motif 1D. On prend cette fois en compte les valeurs des 5 composantes de position, dans un espace 2D (ou 3D). On s'affranchit enc quelques sortes de l'ordonnancement de la séquence de vecteurs. On comprendra qu'en l'occurrence des procédés de comparaison de vecteurs connus aboutissent à la reconnaissance d'un même symbole, à savoir une résistance. 10 Sur les figures, les vecteurs sont représentés comme des ensembles de données, mais on comprendra qu'en pratique on alloue des octets, par exemple 8 ou 16 bits à chaque vecteur, les premiers bits étant par exemple réservés à un identifiant de type de vecteur, etc. En référence à la figure 8, on a représenté un système 800 selon 15 un mode de réalisation de l'invention. Ce système comprend une interface utilisateur, par exemple un écran 807 et un clavier 806, et une unité centrale 801 comprenant un processeur 803 et une mémoire 804. Ce processeur comprend un port de réception 802 de données déstructurées, issues par exemple d'une mémoire distante 805, et un 20 coeur de processeur 808 agencé pour restructurer les données déstructurées reçues en une séquence de vecteurs graphiques de plus haut niveau. Cette restructuration peut faire intervenir des données d'une ontologie stockée par exemple dans un disque dur 804 ou dans la 25 mémoire distante 805, ainsi que l'interface utilisateur. Sur la figure 8, on a ainsi affiché sur l'écran 807 une demande de validation d'un motif identifié sur l'image. Le CPU 808 permet ainsi d'obtenir une nouvelle séquence de volume moindre que celle reçue, et qui pourra être stockée dans la 30 mémoire distante 805, en lieu et place de la séquence déstructurée originelle, permettant ainsi de limiter l'espace REVENDICATIONS1. Procédé mis en oeuvre par un ou plusieurs processeur(s), de restructuration d'objets graphiques destructurés, comprenant a) recevoir (500, 501) des informations d'affichage issues d'un logiciel de dessin vectoriel, ces informations d'affichage correspondant à une image et comprenant une séquence (SEQ1) de premiers vecteurs graphiques, chaque premier vecteur graphique étant d'un type choisi parmi un jeu d'au moins un type de vecteur, ledit jeu comprenant au moins le type segment, et chaque premier vecteur comprenant au moins une composante de position absolue dans l'image, b) encoder (502, 503) la séquence de premiers vecteurs graphiques reçue en une séquence (SEQ2, SEQ2') de deuxièmes vecteurs graphiques, chaque premier vecteur graphique de type segment de la séquence reçue étant alors converti en un deuxième vecteur graphique de type segment comprenant au moins une composante de position relative à un vecteur précédent et dénué de composante de position absolue dans l'image, c) analyser (502, 503) les composantes de positions absolues des premiers vecteurs graphiques de la séquence reçue pour détecter des levers de plume entre premiers vecteurs graphiques consécutifs dans la séquence, et en cas de lever de plume entre deux premiers vecteurs graphiques consécutifs, insérer dans la séquence de deuxième vecteurs graphiques, entre les deuxièmes vecteurs encodés correspondant à ces deux premiers vecteurs graphiques consécutifs, un deuxième vecteur de type segment et indiquant un déplacement entre lesdits deux deuxièmes vecteurs, d) procéder à une recherche de motifs (504) dans la séquence de deuxièmes vecteurs graphiques, et en cas d'identification ou reconnaissance d'un motif, remplacer (507) dans une séquence de vecteurs graphiques correspondant à l'image les vecteurs correspondant à ce motif par un vecteur du type du motif identifié/reconnu, e) stocker (511) dans une mémoire, dite de résultat, la séquence affectée par les remplacements de l'étape d). 35 2. Procédé selon la revendication 1, comprenant en outre 26 lors de la recherche de motifs dans la séquence de deuxièmes vecteurs graphiques, en cas d'identification ou de reconnaissance d'un motif, comparer (505) un ensemble de premiers vecteurs de la séquence reçue et correspondant à ce motif à un autre ensemble de premiers 5 vecteurs de la séquence reçue et correspondant aussi à ce motif identifié, ou à un ensemble de premiers vecteurs stocké en mémoire de façon à être associé à ce motif, et dans lequel le remplacement (507) dans la séquence de vecteurs graphiques correspondant à l'image des vecteurs 10 correspondant à ce motif par un vecteur du type du motif identifié/reconnu est conditionné par le résultat de la/des comparaison (s) . 3. Procédé selon la revendication 1 ou selon la revendication 2, 15 dans lequel, lors de l'encodage de la séquence de premiers vecteurs en une séquence de deuxièmes vecteurs, on encode au moins premier vecteur de type caractère en un deuxième vecteur dénué de composante permettant d'identifier le caractère correspondant à ce premier vecteur. 20 4. Procédé selon la revendication 3, dans lequel chaque premier vecteur de type caractère suivant immédiatement dans la séquence reçue un vecteur de type segment est converti en un deuxième vecteur d'un type de chaine de caractère, ledit deuxième vecteur étant dénué de composante permettant d'identifier le caractère 25 correspondant à ce premier vecteur, en cas d'un ou plusieurs premiers vecteurs de type caractères suivant immédiatement dans la séquence ce premier vecteur de type caractère encodé, on s'abstient d'encoder cet ou ces premiers vecteurs dans la séquence de deuxièmes vecteurs graphiques. 30 5. Procédé selon la revendication 4, dans lequel, en cas d'un ou plusieurs premiers vecteurs de type caractères suivant immédiatement dans la séquence ce premier vecteur de type caractère encodé, on compare des composantes de fonte desdits premiers vecteurs, et l'absence d'encodage est conditionnée par le résultat de la comparaison. 27 6. Procédé selon l'une quelconque des revendications 1 à 5, dans lequel, en cas d'identification d'un motif, on stocke (510) dans une mémoire structurée en ontologie la séquence de deuxièmes vecteurs correspondant au motif identifié avec des informations quant au type de 5 vecteur correspondant. 7. Procédé selon l'une quelconque des revendications 1 à 6, dans lequel on utilise (506) au cours de la recherche de motif des portions de séquence de deuxièmes vecteurs stockées dans une mémoire structurée 10 en ontologie, chacune de ces portions correspondant à un symbole classé dans l'ontologie. 8. Procédé selon l'une quelconque des revendications 1 à 7, dans lequel jeu d'au moins un type de vecteur comprend seulement le type 15 segment et le type caractère. 9. Dispositif de restructuration (801) d'objets graphiques numériques destructurés, comprenant des moyens de réception (802) agencés pour recevoir des 20 informations d'affichage issues d'un fichier source d'un logiciel de dessin vectoriel, ces informations d'affichage correspondant à une image et comprenant une séquence de premiers vecteurs graphiques, chaque premier vecteur graphique étant d'un type choisi parmi un jeu d'au moins un type de vecteur, ledit jeu comprenant au moins le type 25 segment, et chaque premier vecteur comprenant au moins une composante de position absolue dans l'image, des moyens de traitement (808) agencés pour - encoder la séquence de vecteurs graphiques reçue par les moyens de réception en une séquence de deuxièmes vecteurs 30 graphiques, chaque premier vecteur graphique de type segment de la séquence reçue étant alors converti en un deuxième vecteur graphique de type segment comprenant au moins une composante de position relative et dénué de composante de position absolue dans l'image, - analyser les composantes de positions absolues des premiers 35 vecteurs graphiques de la séquence reçue pour détecter des levers de plume entre premiers vecteurs graphiques consécutifs dans la séquence, et en cas de lever de plume entre deux premiers vecteurs 28 graphiques consécutifs, insérer dans la séquence de deuxième vecteurs graphiques, entre les deuxièmes vecteurs encodés correspondant à ces deux premiers vecteurs graphiques consécutifs, un deuxième vecteur de type segment et indiquant un déplacement entre lesdits deux deuxièmes 5 vecteurs, - procéder à une recherche de motifs dans la séquence de deuxièmes vecteurs graphiques, et en cas d'identification ou reconnaissance d'un motif, remplacer dans une séquence de vecteurs graphiques correspondant à l'image les vecteurs correspondant à ce 10 motif par un vecteur du type du motif identifié/reconnu, une mémoire pour stocker la séquence affectée par les remplacements. 10. Produit programme d'ordinateur comprenant des instructions 15 ou portions de code pour exécuter les étapes du procédé selon l'une quelconque des revendications 1 à 8 lorsque ces instructions sont exécutées par un processeur. 20