Brevet FR2876818A1 — publié le 20060421

La présente invention concerne un procédé et un programme de transcodage d'un fichier d'images au format vectoriel, un support d'enregistrement et un transcodeur adapté pour ce procédé. Un format vectoriel est un format dans lequel l'image est codée sous la forme d'une multitude de segments de droite, chaque segment de droite correspondant à un trait élémentaire de l'image. Ces segments de droite sont définis, par exemple, soit par les coordonnées de leurs deux extrémités, soit par les coordonnées d'une seule de ces extrémités, un vecteur et une longueur. Des formats vectoriels connus sont, par exemple, DXF (AUTOCAD FILE) ou SVG (SCALABLE VECTOR GRAPHIC). Le format vectoriel est particulièrement bien adapté au dessin industriel. Les images dans ce format sont donc souvent générées à partir de logiciels de dessin industriel tel que AUTOCAD. Toutefois, les logiciels de dessin industriel n'optimisent pas le nombre d'instructions nécessaires pour 20 coder une image dans ce format vectoriel. L'invention vise à remédier à cet inconvénient en proposant un procédé de codage d'une image permettant d'optimiser le nombre d'instructions nécessaires pour coder cette image dans un format vectoriel. L'invention a donc pour objet un procédé de codage d'une image dans un format vectoriel, comportant: - une étape de modification desdites instructions pour connecter au moins une extrémité d'un premier segment de l'image à un deuxième segment de la même image lorsque la distance entre cette extrémité et le deuxième segment est inférieure à un premier seuil pré-établi de manière à créer une polyligne, - une étape de réduction du nombre d'instructions contenues dans le fichier, en remplaçant les instructions définissant les premier et deuxième segments par une seule instruction définissant la polyligne créée. L'étape de modification permet de raccorder de nombreux segments non connectés les uns aux autres de manière à former des polylignes. Dans le domaine des logiciels de dessins industriels, le terme polyligne désigne une entité géométrique constituée d'une succession de segments de droite parfaitement connectés les uns aux autres par leurs extrémités. Le codage d'une polyligne est réalisé à l'aide d'un nombre d'instructions strictement inférieur à celui nécessaire pour coder le même nombre de segments non connectés. L'image modifiée est donc codée à l'aide d'un nombre d'instructions inférieur à celui nécessaire pour coder l'image non modifiée. La quantité de mémoire nécessaire pour enregistrer l'image codée est donc réduit. De plus, la qualité de l'image modifiée n'est que très peu altérée par l'étape de modification puisque les segments qui sont connectés les uns aux autres correspondent souvent à des segments qui n'ont pas été connectés par erreur lors de la réalisation de l'image. Les modes de réalisation de ce procédé peuvent comporter une ou plusieurs des caractéristiques suivantes: - l'étape de modification consiste à déplacer l'extrémité d'au moins l'un des deux segments pour que cette extrémité déplacée soit confondue avec un point d'intersection des droites portant les deux segments; - une étape de fusion de segments consistant à remplacer les instructions définissant un troisième et un quatrième segments de l'image par une seule instruction définissant un cinquième segment de module et de direction équivalent à la réunion des troisième et quatrième segments, lorsque en outre: - l'angle entre les droites portant les troisième et quatrième segments est inférieur à un deuxième seuil pré-établi, - la distance entre une extrémité du troisième segment et son point de projection sur la droite portant le quatrième segment est inférieure à un troisième seuil pré-établi, et, - le point de projection appartient au quatrième segment ou se situe à une distance de l'une des extrémités du quatrième segment inférieure à un quatrième seuil pré-établi; - l'étape de réduction comporte une opération de recherche de la polyligne la plus grande avant de remplacer les instructions définissant les segments de cette polyligne la plus grande par une seule instruction définissant cette polyligne, la grandeur d'une polyligne étant mesurée par le nombre de segments qui la compose; - l'étape de réduction comporte une opération de construction d'une structure arborescente dans laquelle chaque noeud correspond à un segment et chaque lien entre deux noeuds indique que les segments correspondants à ces deux n uds sont connectés entre eux, et l'opération de recherche consiste en outre à rechercher le chemin le plus profond dans cette structure arborescente. Les caractéristiques précédentes permettent chacune prise isolément de limiter encore plus le nombre d'instructions nécessaires pour coder une image dans un format vectoriel. L'invention a également pour objet un programme d'ordinateur et un support d'enregistrement d'informations comportant des instructions pour l'exécution d'un procédé de codage tel que celui décrit ci-dessus lorsque lesdites instructions sont exécutées par un calculateur électronique. L'invention a également pour objet un transcodeur d'un fichier d'image dans un format vectoriel adapté pour mettre en uvre un procédé de transcodage tel que décrit ci-dessus. Le fichier comporte plusieurs instructions définissant chacune un segment de droite, chaque segment ayant deux extrémités. Le transcodeur comporte: - un module de modification desdites instructions pour connecter au moins une extrémité d'un premier segment à un second segment de l'image lorsque la distance entre cette extrémité et le second segment est inférieure à un premier seuil pré-établi de manière à créer une polyligne, et - un module de réduction du nombre d'instructions du fichier, propre à remplacer les instructions définissant les premier et deuxième segments par une seule instruction définissant la polyligne créée. L'invention sera mieux comprise à la lecture de la description qui va suivre, donnée uniquement à titre d'exemple et faite en se référant aux dessins sur lesquels: - la figure 1 est une illustration schématique de l'architecture d'un transcodeur de fichiers d'images dans un format vectoriel, - les figures 2A et 2B sont une illustration d'un 25 organigramme d'un procédé de transcodage d'une image dans un format vectoriel, et - les figures 3, 4A, 4B, 5A, 5B, 6A et 6B sont des illustrations de segments d'une image avant et après l'exécution du procédé de transcodage. La figure 1 représente un transcodeur 2 de fichiers d'images dans un format vectoriel, raccordé à un support d'enregistrement d'informations 4. Le transcodeur 2 comporte un module 6 d'acquisition d'un fichier d'une image initiale dans un format vectoriel. Ce module 6 est, par exemple, capable d'acquérir le fichier d'une image générée par un logiciel de dessin industriel ou d'extraire un tel fichier au format vectoriel à partir d'une source de données située sur le réseau Internet. Ici, le module 6 est apte à acquérir un fichier au format SVG. Un fichier au format SVG comporte des instructions définissant des segments de droites visibles dans l'image et, éventuellement, des instructions définissant des polylignes visibles dans l'image. Une sortie du module d'acquisition 6 est raccordée à une entrée d'un analyseur 12 de fichiers. L'analyseur 12 est apte à remplacer chaque instruction du fichier acquis par une succession d'instructions définissant chacune un segment respectif de la polyligne. La succession d'instructions est, par exemple, écrite dans le format SVG. Une sortie de l'analyseur 12 est raccordée à une entrée d'un module 14 de fusion. Ce module 14 est apte à remplacer deux instructions du fichier analysé par l'analyseur 12, par une seule instruction définissant un segment de module et de direction équivalents à la réunion des deux segments remplacés. Une sortie du module 14 est raccordée à une entrée d'un module 16 de connexion de segments. Le module 16 est apte à modifier l'image initiale en connectant l'extrémité d'un segment à un autre segment de l'image lorsque la distance entre cette extrémité et cet autre segment est inférieure à un seuil pré-établi. Une sortie du module 16 est raccordée à une entrée d'un module 18 de réduction du nombre d'instructions nécessaires pour coder l'image dans un format vectoriel. A cet effet, le module 18 comporte: - un sous-module 20 de construction d'une structure arborescente représentative des connexions entre segments, - un sous-module 21 de recherche de la polyligne la plus grande, et - un codeur 22 propre à coder à l'aide d'une instruction du langage SVG la polyligne trouvée par le sous 5 module 21. Le fichier modifié généré par le module de réduction 18 est au format SVG. Une sortie du module 18 est raccordée à un module conventionnel 30 de compression de fichiers, soit directement, soit par l'intermédiaire d'un module de conversion de format. Ici, à titre d'illustration, le dispositif 2 comporte un seul module 32 de conversion de format propre à convertir un fichier au format SVG en un fichier au format DXF avant de le transmettre au module de compression 30. Le module 30 est, par exemple, ici, un module propre à générer un fichier compressé au format ZIP (PKzip file name extension). Le transducteur 2 est ici, réalisé à partir d'un calculateur électronique programmable conventionnel apte à exécuter des instructions enregistrées dans le support d'enregistrement d'informations 4. A cet effet, le support d'enregistrement d'informations 4 comporte des instructions pour l'exécution du procédé de la figure 2 lorsque lesdites instructions sont exécutées par le calculateur électronique. Le fonctionnement du transducteur 2 va maintenant être décrit à l'aide de l'organigramme des figures 2A et 2B et en regard des figures 3, 4A, 4B, 5A, 5B, 6A et 6B. Lors d'une étape 50, le module 6 acquiert un fichier dans un format vectoriel d'une image. Ici, le fichier est au format SVG. Ce fichier est ensuite transmis à l'analyseur 12 qui remplace, lors d'une étape 52, chaque instruction définissant une polyligne par plusieurs instructions définissant chacune un seul segment de la polyligne. A l'issue de cette étape 52, l'image codée par le fichier analysé est identique à celle acquise lors de l'étape 50. Le fichier analysé est transmis au module 14 qui procède alors à une étape 54 de fusion de segments de l'image. L'objectif de l'étape 54 est de remplacer par une seule instruction deux instructions quasiment redondantes. Plus précisément, lors de l'étape 54, deux instructions définissant des segments S1 et S2 sont remplacées par une seule instruction définissant un segment S3 de module et de direction équivalents à la réunion de deux segments S1 et S2 si: - l'angle entre les droites D1 et D2 portant les deux segments S1 et S2 est inférieur à un seuil pré-établi dc, et - la distance entre une extrémité du segment S1 ou S2 est son point de projection P'i sur la droite portant l'autre segment est inférieure à un seuil pré-établi dd, et - le point de projection P'i appartient à l'autre segment ou se situe à une distance des extrémités de l'autre segment inférieure à un seuil préétabli dt. Les opérations de l'étape 54 seront décrites dans le cas particulier des deux segments S1 et S2 de la figure 3. Le segment S1 comporte deux extrémités P1 et P2 tandis que le segment S2 a deux extrémités P3 et P4. Le segment S1 est porté par la droite D1 et le segment S2 est porté par la droite D2. L'étape 54 commence par une opération 56 de calcul d'un coefficient directeur Ci pour chacun des segments définis dans le fichier analysé. Un coefficient directeur est représentatif de l'inclinaison du segment par rapport à une direction de référence. Par exemple, le coefficient directeur Ci d'un segment Si défini par deux points d'extrémité P1 et P2 est calculé à l'aide de la relation suivante. YP2 - YPl Ci = xP2 - xPl où : - Ci est le coefficient directeur du segment Si, - xp1 et ypl sont respectivement l'abscisse et l'ordonnée de l'extrémité P1 dans un repère orthonormé, et - xP2 et yP2 sont respectivement l'abscisse et l'ordonnée de l'extrémité P2 dans le même repère orthonormé. Ensuite, les coefficients directeurs des segments sont comparés deux par deux lors d'une opération 58 pour sélectionner uniquement des paires de segments ayant des directions proche l'une de l'autre. Les directions de deux segments sont proches si la différence entre les coefficients directeurs des deux segments est inférieure au seuil pré-établi dc. Par exemple, dans le cas particulier de la figure 3, le coefficient directeur C1 du segment S1 est soustrait au coefficient directeur C2 du segment S2. Si la différence en valeur absolue entre C1 et C2 est inférieure à de alors le module 16 procède à une opération 60. Lors de l'opération 60, le module 14 calcule la projection des extrémités d'un premier segment de la paire sur la droite portant le second segment. La projection est réalisée selon une direction orthogonale à la droite portant le premier segment. Dans le cas de la figure 3, le module 14 calcule la projection des extrémités P1 et P2, notés respectivement P'1 et P'2, sur la droite D2. Ensuite, lors d'une étape 62, la distance séparant l'extrémité du segment de son point de projection calculé est calculée. Cette distance est notée dl sur la figure 3 pour l'extrémité P1 et d2 pour l'extrémité P2. Puis, lors d'une opération 64, les distances calculées lors de l'opération 62 sont comparées au seuil pré-déterminé dd de façon à ne sélectionner que des segments qui sont proches l'un de l'autre. Dans le cas de la figure 3, on suppose que la distance d2 est inférieure au seuil dd. Dans l'affirmative, c'est-à-dire si l'une des distances calculées lors de l'opération 62 est inférieure au seuil dd, alors le module 14 vérifie, lors d'une opération 66, si au moins l'un des points de projection du premier segment appartient au second segment. Par exemple, dans le cas de la figure 3, le module 14 vérifie si au moins l'un des points P'1 et P'2 appartient au segment S2. Sur la figure 3, le point P'2 appartient au segment S2 ce qui n'est pas le cas pour le point P'1. Dans l'affirmative, le module 16 remplace, lors d'une opération 68 les instructions définissant les deux segments S1 et S2 par une seule instruction définissant le segment S3. Dans le cas contraire, si lors de l'opération 66, aucun des points de projection n'appartient au second segment, alors le module 14 détermine, lors d'une opération 70, si la distance entre l'un des points de protection et l'une des extrémités du second segment est inférieure au seuil pré-établi dt. Ce seuil pré-établi est ici choisi égal à dd. Dans l'affirmative, le module 16 procède ensuite à l'opération de remplacement 68. Lors de l'opération 68, le module 14 sélectionne, lors d'une sousopération 74, les deux extrémités les plus éloignées l'une de l'autre dans l'ensemble {P1; P2; P3; P4} des extrémités des deux segments S. et S2. Ensuite, lors d'une sous-opération 76, il remplace les instructions définissant les deux segments S1 et S2 par une seule instruction définissant le segment S3 ayant pour extrémités celles sélectionnées lors de la sous-opération 74. Le nouveau segment créé précédemment est réintroduit dans la liste des segments à traiter. Une fois l'opération 68 terminée, le procédé retourne à l'opération 58 et réitère à nouveau les opérations 58 à 68 pour une nouvelle paire de segments. Ces opérations sont réitérées tant qu'il existe dans le fichier analysé des paires de segments non traitées. Si lors de l'opération 58, les coefficients directeurs comparés sont supérieurs au seuil d, ou si lors de l'opération 64 les distances calculées sont supérieures au seuil dd ou encore si lors de l'opération 70 aucune des extrémités du second segment n'est proche d'un des points de projection alors le procédé retourne également à l'opération 58. Ainsi, l'étape 54 réduit le nombre d'instructions nécessaires pour coder l'image tout en limitant les modifications apportées à l'image initiale grâce aux seuils de, dd et dt. Ensuite, le fichier traité par le module 14 est transmis au module 16. Le module 16 modifie, lors d'une étape 80, l'image codée en connectant les extrémités des segments sécants, c'est-à-dire des segments dont la différence des coefficients directeurs et supérieure au seuil dc. Cette étape 80 vise à modifier les instructions du fichier fusionné pour connecter les segments les uns aux autres et ainsi créer des polylignes en lieu et place d'une succession de segments non connectés. Trois cas différents de segments sécants sont représentés dans les figures 4A, 5A et 6A. Les figures 4B, 5B et 6B illustrent respectivement les segments des figures 4A, 5A et 6A après que l'étape de modification ait été réalisée. Les notations utilisées pour les figures 4A, 4B, 5A, 5B, 6A et 6B sont identiques à celles définies en regard à la figure 3. On notera simplement ici, que le point d'intersection entre les droites portant chacune l'un des segments sécants est noté P'. Initialement, lors d'une opération 82, le module 16 5 sélectionne deux instructions définissant les segments S1 et S2 dans le fichier fusionné. Ensuite, lors d'une opération 84, il calcule les coordonnées du point d'intersection P' entre les droites D1 et D2 portant les segments S1 et S2. Après, il calcule, lors d'une opération 86, les distances L1, L2, L3 et L4 séparant le point d'intersection P' respectivement des extrémités P1, P2, P3 et P4. Puis, lors d'une opération 88, le module 16 détermine si le point d'intersection P' appartient au segment S1 et/ou au segment S2 (cas des figures 4A et 5A). Dans l'affirmative, le module 16 compare, lors d'une opération 90, les distances L1, L2, L3 et L4 à un seuil pré-établi Di. Si l'une de ces distances est inférieure au seuil Ai alors le module 16 procède à une opération 92 de déplacement de la ou des extrémités les plus proches de P' jusqu'au point P'. Plus précisément, lors de l'opération 92, au moins l'une des instructions définissant l'un des segments est modifiée pour définir un nouveau segment S'i dont l'une des extrémités a été déplacée pour connecter ce segment S'i à l'autre segment. Par exemple, dans le cas de la figure 4A, la distance L2 séparant P2 du point P' est supposée inférieure à Di et l'extrémité P2 est déplacée jusqu'au point P' de sorte que le segment modifié S'1 est connecté aux segments S2 comme illustré sur la figure 4B. Dans le cas de la figue 5A, à la fois les distances d2 et d4 sont inférieures au seuil Ai de sorte que les extrémités P2 et P4 sont toutes les deux déplacées jusqu'au point P'. Le résultat de cette modification est représenté sur la figure 5B. Si lors de l'opération 88 il est déterminé que le point P' n'appartient pas aux segments S1 et S2, (cas de la figure 6A), alors le module 16 procède à une opération 94 de test de la proximité des extrémités des segments. Lors de l'opération 94, le module 16 détermine si l'une des deux distances L1 et L2 est inférieure à un seuil pré-établi Ae et si l'une des deux distances L3 et L4 est inférieure à ce même seuil pré-établi De. Dans l'affirmative l'extrémité la plus proche du segment S1 et l'extrémité la plus proche du segment S2 sont déplacées jusqu'au point P' lors d'une opération 96. Cette opération 96 est réalisée, comme lors de l'opération 92, en modifiant les instructions définissant ces segments S1 et S2. C'est ce qui a été représenté sur la figure 6B. Après l'opération 92 ou 96 ou si lors de l'opération 90 il est déterminé qu'aucune des distance Li est inférieure au seuil Di, ou encore si lors de l'opération 94 il est déterminé que les deux distances L1 et L2 ou L3 et L4 sont supérieures au seuil Ae, alors le module 16 retourne à l'étape 88 et exécute à nouveau les opérations 82 à 96 pour une nouvelle paire de segments. Les opérations 88 à 96 sont réitérées tant que 25 l'ensemble des paires de segments n'a pas été traité. A ce stade, le fichier modifié par l'étape 80 contient le même nombre d'instructions que le fichier fusionné par le module 14. Le fichier modifié est alors transmis au module 18 pour réduire, lors d'une étape 100, le nombre d'instructions contenues dans le fichier modifié. Lors de l'étape 100, le sous-module 20 construit, lors d'une opération 104, une structure arborescente représentant les connections des segments entre eux. Dans cette structure arborescente, chaque segment est représenté par un noeud et les deux noeuds sont reliés entre eux si les segments correspondants sont connectés entre eux. Ensuite, lors d'une opération 106, le sous-module 21 recherche le chemin le plus profond dans la structure arborescente construite lors de l'opération 104. Le chemin le plus profond est celui qui comporte le plus grand nombre de n uds et correspond à la polyligne la plus grande, c'està-dire à la polyligne comportant le plus grand nombre de segments. A cet effet, des algorithmes de recherche du chemin le plus profond conventionnel sont mis en uvre, tel par exemple l'algorithme de Dijkstra. Une fois que la plus grande polyligne a été trouvée le codeur 22 code, lors d'une opération 108, la polyligne trouvée à l'aide d'une seule instruction de codage. Plus précisément, lors de cette opération 108, les instructions définissant dans le fichier modifié les segments appartenant à la polyligne trouvée sont remplacées par une seule instruction définissant la polyligne trouvée. Par exemple, dans le cas du format SVG, l'instruction utilisée sera une instruction . Une fois l'opération 108 terminée, le procédé retourne à l'opération 104. Les opérations 104 et 108 sont réitérées jusqu'à ce qu'il n'existe plus de polyligne à coder dans le fichier modifié. Cette façon de procéder pour réduire le nombre d'instructions du fichier modifié en codant d'abord les polylignes les plus grandes permet d'optimiser le nombre d'instructions nécessaires pour coder l'image. A l'issu de l'étape 100, lors d'une étape 120, si le le format de sortie du fichier réduit n'est pas le format SVG, alors le fichier réduit par le module 18 est transmis au module 32 de convertion de format. Le module 32 2876818 14 convertit, lors d'une étape 122, le fichier réduit au format SVG dans un autre format tel que le format DXF. A l'issu de l'étape 122 ou dans le cas où le format de sortie est le format SVG, le fichier réduit est transmis au module de compression qui comprime, lors d'une étape 124, ce fichier en utilisant des algorithmes conventionnels. Les différents seuils pré-établis utilisés dans le dispositif 2 limitent l'importance des modifications apportées à l'image codée. Ils sont choisis pour constituer un bon compromis entre d'une part l'importance des modifications apportées à l'image codée et d'autre part le nombre d'instructions nécessaires pour la coder. En effet, plus ces seuils préétablis ont une valeur élevée, moins le nombre d'instructions nécessaires pour coder l'image est important et plus l'apparence visuelle de l'image risque d'être modifiée. Le dispositif et le procédé décrit ici sont particulièrement efficaces pour coder des images générées par un logiciel de dessin industriel. En particulier, le module 14 permet de réduire le nombre d'instructions tandis que le module 16 modifie l'image pour créer des polylignes en lieu et place de segments non connectés. Chaque polyligne est alors codée à l'aide d'une seule instruction ce qui réduit en fin de compte le nombre d'instructions nécessaires pour coder l'image initiale. Un tel procédé de codage présente un intérêt tout particulier pour la transmission sur un réseau, d'images au format vectoriel. Ce réseau est un réseau WiFi ou un réseau de telé-communication sans fil du type UMTS (Universal Mobile Telecommunication System). Le dispositif 2 et le procédé de la figure 2 permettent également de réduire l'empreinte mémoire de l'image codée ce qui permet d'afficher de telles images sur des terminaux équipés d'une mémoire restreinte tel que par exemple un téléphone mobile. Ici, l'image est modifiée lors de l'étape 80 en déplaçant l'extrémité d'au moins un segment pour que celle- ci soit confondue avec le point d'intersection des droites portant les deux segments. Ceci permet de limiter le nombre de point de la polyligne créée et donc la taille du fichier contenant les instructions codant l'image modifiée. Toutefois, en variante, la connexion de deux segments dont les extrémités sont proches et réalisées en ajoutant une instruction définissant un nouveau segment raccordant les deux extrémités proches l'une de l'autre. Ainsi, dans cette variante, les extrémités des segments ne sont pas déplacées mais raccordées l'une à l'autre par l'intermédiaire d'un nouveau segment. Ceci permet également de créer des polylignes et donc de réduire le nombre d'instructions nécessaires pour coder l'image. 16 REVENDICATIONS 1. Procédé de transcodage d'un fichier d'image dans un format vectoriel, le fichier comportant plusieurs instructions définissant chacune un segment de droite dans l'image, chaque segment ayant deux extrémités, caractérisé en ce que le procédé comporte: - une étape (80) de modification desdites instructions pour connecter au moins une extrémité d'un premier segment de l'image à un deuxième segment de la même image lorsque la distance entre cette extrémité et le deuxième segment est inférieure à un premier seuil pré-établi de manière à créer une polyligne, - une étape (100) de réduction du nombre d'instructions contenues dans le fichier, en remplaçant les instructions définissant les premier et deuxième segments par une seule instruction définissant la polyligne créée. 2. Procédé selon la revendication 1, caractérisé en ce que l'étape de modification (80) consiste à déplacer l'extrémité d'au moins l'un des deux segments pour que cette extrémité déplacée soit confondue avec un point d'intersection des droites portant les deux segments. 3. Procédé selon la revendication 1 ou 2, caractérisé en ce qu'il comporte une étape (54) de fusion de segments consistant à remplacer les instructions définissant un troisième et un quatrième segments de l'image par une seule instruction définissant un cinquième segment de module et de direction équivalent à la réunion des troisième et quatrième segments, lorsque en outre: - l'angle entre les droites portant les troisième et quatrième segments est inférieur à un deuxième seuil pré-établi, 2876818 17 - la distance entre une extrémité du troisième segment et son point de projection sur la droite portant le quatrième segment est inférieure à un troisième seuil pré-établi, et, - le point de projection appartient au quatrième segment ou se situe à une distance de l'une des extrémités du quatrième segment inférieure à un quatrième seuil pré-établi. 4. Procédé selon la revendication 3, caractérisé en ce que l'étape de réduction (100) comporte une opération (106) de recherche de la polyligne la plus grande avant de remplacer les instructions définissant les segments de cette polyligne la plus grande par une seule instruction définissant cette polyligne, la grandeur d'une polyligne étant mesurée par le nombre de segments qui la compose. 5. Procédé selon la revendication 4, caractérisé en ce que l'étape de réduction comporte une opération (104) de construction d'une structure arborescente dans laquelle chaque noeud correspond à un segment et chaque lien entre deux noeuds indique que les segments correspondants à ces deux noeuds sont connectés entre eux, et en ce que l'opération de recherche consiste en outre à rechercher le chemin le plus profond dans cette structure arborescente. 6. Programme d'ordinateur, caractérisé en ce qu'il comporte des instructions pour l'exécution d'un procédé de transcodage conforme à l'une quelconque des revendications précédentes, lorsque lesdites instructions sont exécutées par un calculateur électronique. 7. Support d'enregistrement d'informations, caractérisé en ce qu'il comporte des instructions pour l'exécution d'un procédé de transcodage conforme à l'une quelconque des revendications 1 à 5, lorsque lesdites instructions sont exécutées par un calculateur électronique. 8. Transcodeur d'un fichier d'image dans un format vectoriel adapté pour mettre en uvre un procédé de transcodage conforme à l'une quelconque des revendications 1 à 5, le fichier comportant plusieurs instructions définissant chacune un segment de droite, chaque segment ayant deux extrémités, caractérisé en ce que le transcodeur comporte. - un module (16) de modification desdites instructions pour connecter au moins une extrémité d'un premier segment à un second segment de l'image lorsque la distance entre cette extrémité et le second segment est inférieure à un premier seuil pré-établi de manière à créer une polyligne, et un module (18) de réduction du nombre d'instructions du fichier, propre à remplacer les instructions définissant les premier et deuxième segments par une seule instruction définissant la polyligne créée.