FR2846180A1 - Mathematical function optimizing method for determining path among digital signal samples, involves separating initial population into groups to form solutions, selecting another population best solutions to form third population - Google Patents

Mathematical function optimizing method for determining path among digital signal samples, involves separating initial population into groups to form solutions, selecting another population best solutions to form third population Download PDF

Info

Publication number
FR2846180A1
FR2846180A1 FR0212874A FR0212874A FR2846180A1 FR 2846180 A1 FR2846180 A1 FR 2846180A1 FR 0212874 A FR0212874 A FR 0212874A FR 0212874 A FR0212874 A FR 0212874A FR 2846180 A1 FR2846180 A1 FR 2846180A1
Authority
FR
France
Prior art keywords
population
solutions
criterion
evaluation
group
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Withdrawn
Application number
FR0212874A
Other languages
French (fr)
Inventor
Guillaume Fuchs
Felix Henry
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Canon Inc
Original Assignee
Canon Inc
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Canon Inc filed Critical Canon Inc
Priority to FR0212874A priority Critical patent/FR2846180A1/en
Publication of FR2846180A1 publication Critical patent/FR2846180A1/en
Withdrawn legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/12Computing arrangements based on biological models using genetic models
    • G06N3/126Evolutionary algorithms, e.g. genetic algorithms or genetic programming
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/102Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
    • H04N19/129Scanning of coding units, e.g. zig-zag scan of transform coefficients or flexible macroblock ordering [FMO]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/60Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding
    • H04N19/63Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding using sub-band based transform, e.g. wavelets

Abstract

The method involves determining initial population of function evaluation solution based on evaluation criteria, and separating the population into exploration and local optimization groups to form respective solutions. A constructive genetic operator is applied on the optimization group to form other solutions. Another population with two solutions is formed and best solutions of it are selected to form a third population. The initial population is separated into the exploration and local optimization groups based on evaluated result of the solution application of disruptive genetic operator on a exploration group, so as to form respective solutions. Independent claims are also included for the following: (a) a function optimization device (b) an apparatus for processing a digital image.

Description

La présente invention concerne d'une manière générale l'optimisationThe present invention relates generally to optimization

mathématique de fonctions qui ne peuvent être résolus  math of functions that cannot be solved

analytiquement ou par une méthode heuristique connue.  analytically or by a known heuristic method.

Les algorithmes génétiques sont particulièrement adaptés à ce type  Genetic algorithms are particularly suitable for this type

d'optimisation car ce sont des méthodes pouvant fonctionner sans hypothèse 15 forte de régularité.  of optimization because they are methods which can function without strong hypothesis of regularity.

Une technique d'optimisation pour ce type de problème est le calcul  An optimization technique for this type of problem is calculation

évolutionnaire dont par exemple une description se trouve dans l'article intitulé " Evolutionnary Algorithms " de Thomas Bâck, ACM SIGBIO Newsletter, pp.  evolutionary of which for example a description is in the article entitled "Evolutionnary Algorithms" by Thomas Bâck, ACM SIGBIO Newsletter, pp.

26-31, 1992.26-31, 1992.

Le calcul évolutionnaire (en anglais: evolutionary computation) est une technique de recherche appliquée à des problèmes qui, d'une part ne peuvent pas être formulés mathématiquement de manière continue et d'autre part n'ont pas un jeu de solutions possibles suffisamment réduit pour pouvoir  Evolutionary calculus (in English: evolutionary computation) is a research technique applied to problems which, on the one hand cannot be formulated mathematically continuously and on the other hand do not have a sufficiently reduced set of possible solutions to can

être énuméré.be listed.

Le calcul évolutionnaire fait ainsi partie des techniques aléatoires, et plus spécifiquement fait partie des techniques de recherche aléatoire dite  Evolutionary calculus is thus part of the random techniques, and more specifically is part of the so-called random search techniques

guidée, c'est-à-dire qui ont une fonction globale ou locale à optimiser.  guided, that is to say which have a global or local function to optimize.

Si, dans une approche analytique, on cherche à concevoir une unique solution pour résoudre un problème, le calcul évolutionnaire considère 30 un jeu de solutions et fait évoluer ce jeu de solution selon des règles qui sont  If, in an analytical approach, we seek to design a single solution to solve a problem, evolutionary calculus considers a set of solutions and makes this set of solution evolve according to rules which are

calquées sur l'évolution de la vie: reproduction, mutation et sélection.  modeled on the evolution of life: reproduction, mutation and selection.

L'idée principale est que des individus multiples peuvent explorer des stratégies différentes et combiner leur capacité pour converger vers une solution efficace. La reproduction permet la combinaison, la mutation permet  The main idea is that multiple individuals can explore different strategies and combine their ability to converge on an effective solution. Reproduction allows combination, mutation allows

l'exploration et la sélection permet la convergence.  exploration and selection allows convergence.

Le calcul évolutionnaire utilise des fonctions qui sont les suivantes: la génération, qui produit une population initiale d'individus, l'évaluation, qui mesure la performance de chaque individu vis à vis du problème à résoudre, - la sélection, qui sélectionne un sous-ensemble d'individus parmi la 10 population courante, - la reproduction, qui produit un nouveau jeu d'individus. La reproduction utilise la combinaison de deux individus sélectionnés et la mutation du nouvel individu en résultant. La mutation est l'introduction d'une légère différence dans l'individu enfant résultant de la combinaison, et - le remplacement, qui remplace les individus dont la performance est la plus faible vis à vis du problème à résoudre, par des individus enfants  The evolutionary calculus uses the following functions: generation, which produces an initial population of individuals, evaluation, which measures the performance of each individual with regard to the problem to be solved, - selection, which selects a sub - set of individuals from the current population, - reproduction, which produces a new set of individuals. Reproduction uses the combination of two selected individuals and the resulting mutation of the new individual. The mutation is the introduction of a slight difference in the individual child resulting from the combination, and - replacement, which replaces the individuals whose performance is weakest with regard to the problem to be solved, by individual children

générés par la reproduction.generated by reproduction.

Ces fonctions sont utilisées de manière itérative jusqu'à ce qu'un  These functions are used iteratively until a

critère de convergence soit satisfait.  convergence criterion is satisfied.

Par exemple, le document US 4 697 242 décrit une application qui utilise des algorithmes génétiques pour un programme électronique qui permet  For example, document US 4,697,242 describes an application which uses genetic algorithms for an electronic program which allows

d'apprendre et de découvrir un langage.  to learn and discover a language.

Le document US 4 935 877 décrit quant à lui un algorithme évolutionnaire qui met en jeu des solutions composées de fonctions et 25 d'arguments qui forment un programme. On fait évoluer les programmes pour trouver une solution à un problème donné. Cette technique est connue sous le  Document US 4,935,877 describes an evolutionary algorithm which brings into play solutions composed of functions and of arguments which form a program. Programs are evolved to find a solution to a given problem. This technique is known as

nom de programmation génétique (d'après l'anglais: genetic programming).  name of genetic programming.

De manière générale, la convergence d'un algorithme évolutionnaire  In general, the convergence of an evolutionary algorithm

nécessite un long temps de calcul.requires a long calculation time.

L'invention s'applique particulièrement au domaine de la compression avec perte de signaux numériques. Les signaux numériques considérés ici sont de nature quelconque, par exemple des images fixes, de la  The invention applies particularly to the field of compression with loss of digital signals. The digital signals considered here are of any kind, for example still images, of the

vidéo, du son, des données informatiques.  video, sound, computer data.

Dans la suite, on considère plus particulièrement le codage et le  In the following, we consider more particularly the coding and the

décodage d'une image fixe.decoding of a still image.

Dans ce contexte, certains modes de codage utilisent un parcours établi parmi un ensemble d'échantillons numériques. Par exemple, les demandes de brevet français no 01 06933 et 01 13922 concernent de tels  In this context, certain coding modes use an established route among a set of digital samples. For example, French patent applications Nos. 01 06933 and 01 13922 relate to such

modes de codage.coding modes.

Pour que le codage soit efficace, c'est-à-dire qu'il présente un bon 1o rapport débit-distorsion, il est nécessaire de déterminer le parcours de manière adaptée. Il existe des techniques pour déterminer un parcours parmi un ensemble d'échantillons. Ces techniques sont connues sous le nom de  In order for the coding to be effective, that is to say that it has a good speed-distortion ratio, it is necessary to determine the path appropriately. There are techniques for determining a route among a set of samples. These techniques are known as

techniques de résolution du problème du voyageur de commerce.  techniques for solving the traveling salesman problem.

Là encore, le temps de calcul pour trouver le parcours peut être long.  Again, the calculation time to find the route can be long.

La présente invention vise à fournir un procédé et un dispositif d'optimisation d'une fonction qui permettent de trouver une valeur proche de la solution optimale d'un problème posé, plus rapidement que selon la technique antérieure. A cette fin, l'invention propose un procédé d'optimisation d'une fonction, caractérisé en ce qu'il comporte les étapes de: - détermination d'une population initiale de solutions de la fonction, - évaluation des solutions de la population initiale, en fonction d'un 25 critère d'évaluation, - séparation de la population en un groupe d'exploration et en un groupe d'optimisation locale, en fonction du résultat de l'évaluation des solutions, - application d'un opérateur génétique disruptif sur le groupe 3o d'exploration, de manière à former des secondes solutions, - application d'un opérateur génétique constructif sur le groupe d'optimisation locale, de manière à former des troisièmes solutions, - formation d'une seconde population comportant au moins les secondes et troisièmes solutions, - évaluation des solutions de la seconde population, en fonction du critère d'évaluation, - sélection des meilleures solutions de la seconde population, selon  The present invention aims to provide a method and a device for optimizing a function which make it possible to find a value close to the optimal solution of a problem posed, more quickly than according to the prior art. To this end, the invention proposes a method for optimizing a function, characterized in that it comprises the steps of: - determination of an initial population of solutions of the function, - evaluation of the solutions of the initial population , according to an evaluation criterion, - separation of the population into an exploration group and into a local optimization group, according to the result of the evaluation of the solutions, - application of a genetic operator disruptive on the 3o exploration group, so as to form second solutions, - application of a constructive genetic operator on the local optimization group, so as to form third solutions, - formation of a second population comprising minus the second and third solutions, - evaluation of the solutions of the second population, according to the evaluation criterion, - selection of the best solutions of the second population, according to

le critère d'évaluation, pour former une troisième population.  the evaluation criterion, to form a third population.

L'invention permet de trouver une valeur proche de la solution  The invention makes it possible to find a value close to the solution

optimale d'un problème posé, plus rapidement que selon la technique 10 antérieure.  optimal of a problem posed, more quickly than according to the prior art.

Selon une caractéristique préférée, le procédé comporte la réitération des étapes de séparation à sélection jusqu'à ce qu'un critère d'arrêt soit satisfait. Ainsi, la solution est améliorée à chaque itération. 15 Selon une caractéristique préférée, la séparation de la population comporte la formation du groupe d'optimisation locale par la sélection de solutions parmi les meilleures selon le critère d'évaluation. Ce groupe de  According to a preferred characteristic, the method comprises the reiteration of the selection separation steps until a stop criterion is satisfied. Thus, the solution is improved with each iteration. According to a preferred characteristic, the separation of the population involves the formation of the local optimization group by the selection of solutions among the best according to the evaluation criterion. This group of

solution permet de converger vers la solution optimale.  solution allows to converge towards the optimal solution.

Selon une caractéristique préférée, la séparation de la population comporte la formation du groupe d'exploration par la sélection de solutions parmi les moins bonnes selon le critère d'évaluation. Ce groupe de solution permet d'explorer l'espace des solutions et évite de converger trop rapidement  According to a preferred characteristic, the separation of the population involves the formation of the exploration group by the selection of solutions among the least good according to the evaluation criterion. This group of solutions makes it possible to explore the space of solutions and avoids converging too quickly

2 5 vers une solution optimale qui pourrait n'être qu'un optimum local.  2 5 towards an optimal solution which could be only a local optimum.

Selon une caractéristique préférée, l'opérateur génétique disruptif  According to a preferred characteristic, the disruptive genetic operator

comporte une mutation.has a mutation.

Selon une caractéristique préférée, l'opérateur génétique constructif 30 comporte un croisement, une mutation, une duplication ou la combinaison des trois. Ces opérateurs donnent de bons résultats expérimentaux et sont  According to a preferred characteristic, the constructive genetic operator 30 comprises a crossing, a mutation, a duplication or the combination of the three. These operators give good experimental results and are

simples à mettre en oeuvre.simple to implement.

Selon une caractéristique préférée, la seconde population comporte  According to a preferred characteristic, the second population comprises

en outre le groupe d'optimisation locale. En effet, ce groupe comporte de 5 " bonnes " solutions au sens du critère d'évaluation, il est donc intéressant de les conserver.  in addition the local optimization group. Indeed, this group includes 5 "good" solutions within the meaning of the evaluation criterion, so it is interesting to keep them.

Selon des caractéristiques préférées alternatives, le critère d'arrêt est satisfait si l'évaluation de la meilleure solution de la troisième population satisfait un critère prédéterminé ou si la troisième population n'évolue plus 10 d'une itération à l'autre ou encore si une durée prédéterminée de traitement est atteinte. Selon une caractéristique préférée, le procédé est appliqué à la  According to alternative preferred characteristics, the stopping criterion is satisfied if the evaluation of the best solution of the third population satisfies a predetermined criterion or if the third population does not evolve more from one iteration to another or even if a predetermined duration of treatment is reached. According to a preferred characteristic, the method is applied to the

formation d'un parcours parmi des coefficients d'un signal, les solutions étant des parcours possibles, et il comporte la sélection de la meilleure solution dans 15 la troisième population.  formation of a path among coefficients of a signal, the solutions being possible paths, and it involves the selection of the best solution in the third population.

Plus particulièrement le procédé selon l'invention s'applique à la  More particularly, the method according to the invention applies to the

formation d'un parcours parmi des coefficients d'une image numérique.  formation of a path among coefficients of a digital image.

Selon une caractéristique préférée, le critère d'évaluation d'un parcours est une minimisation d'un cot de codage du signal, le codage  According to a preferred characteristic, the criterion for evaluating a route is a minimization of a cost of coding the signal, the coding

2 0 utilisant le parcours considéré.  2 0 using the route considered.

Corrélativement, l'invention concerne un dispositif d'optimisation d'une fonction, caractérisé en ce qu'il comporte: - des moyens de détermination d'une population initiale de solutions 25 de la fonction, - des moyens d'évaluation des solutions de la population initiale, en fonction d'un critère d'évaluation, - des moyens de séparation de la population en un groupe d'exploration et en un groupe d'optimisation locale, en fonction du résultat de 3 o l'évaluation des solutions, - des moyens d'application d'un opérateur génétique disruptif sur le groupe d'exploration, de manière à former des secondes solutions, - des moyens d'application d'un opérateur génétique constructif sur le groupe d'optimisation locale, de manière à former des troisièmes solutions, - des moyens de formation d'une seconde population comportant au moins les secondes et troisièmes solutions, - des moyens d'évaluation des solutions de la seconde population, en fonction du critère d'évaluation, - des moyens de sélection des meilleures solutions de la seconde  Correlatively, the invention relates to a device for optimizing a function, characterized in that it comprises: - means for determining an initial population of solutions of the function, - means for evaluating solutions of the initial population, according to an evaluation criterion, - means of separating the population into an exploration group and a local optimization group, according to the result of 3 o the evaluation of solutions, - means of applying a disruptive genetic operator to the exploration group, so as to form second solutions, - means of applying a constructive genetic operator to the local optimization group, so as to forming third solutions, - means for training a second population comprising at least the second and third solutions, - means for evaluating solutions of the second population, according to the evaluation criterion, - means of selecting the best second solutions

population, selon le critère d'évaluation, pour former une troisième population.  population, according to the evaluation criterion, to form a third population.

Le dispositif selon l'invention comporte des moyens de mise en 10 oeuvre des caractéristiques précédemment présentées.  The device according to the invention comprises means for implementing the features previously presented.

Le dispositif selon l'invention présente des avantages analogues à  The device according to the invention has advantages similar to

ceux précédemment présentés.those previously presented.

L'invention concerne aussi un appareil numérique incluant le dispositif selon l'invention ou des moyens de mise en oeuvre du procédé selon 15 l'invention. Cet appareil numérique est par exemple un appareil photographique numérique, un caméscope numérique, un scanner, une imprimante, un photocopieur, un télécopieur. Les avantages du dispositif et de l'appareil  The invention also relates to a digital apparatus including the device according to the invention or means for implementing the method according to the invention. This digital device is for example a digital camera, a digital camcorder, a scanner, a printer, a photocopier, a fax machine. The advantages of the device and the device

numérique sont identiques à ceux précédemment exposés.  digital are identical to those previously exposed.

Un moyen de stockage d'information, lisible par un ordinateur ou par 20 un microprocesseur, intégré ou non au dispositif, éventuellement amovible,  A means of storing information, readable by a computer or by a microprocessor, integrated or not in the device, possibly removable,

mémorise un programme mettant en oeuvre le procédé selon l'invention.  stores a program implementing the method according to the invention.

Un programme d'ordinateur lisible par un microprocesseur et comportant une ou plusieurs séquence d'instructions est apte à mettre en  A computer program readable by a microprocessor and comprising one or more sequence of instructions is capable of implementing

oeuvre les procédés selon l'invention.  implements the methods according to the invention.

Les caractéristiques et avantages de la présente invention apparaîtront plus clairement à la lecture d'un mode préféré de réalisation illustré par les dessins ci-joints, dans lesquels: - la figure 1 est un mode de réalisation d'un dispositif mettant en 30 oeuvre l'invention, - la figure 2 représente un dispositif de codage selon l'invention, - la figure 3 représente un mode de réalisation de procédé de codage selon l'invention, - la figure 4 représente un modèle d'amplitude utilisé selon la présente invention, - la figure 5 représente un mode de réalisation de codage d'emplacement inclus dans le procédé de la figure 3, - les figures 6 et 7 représentent des exemples d'application d'opérateurs génétiques disruptifs à des génomes,  The characteristics and advantages of the present invention will appear more clearly on reading a preferred embodiment illustrated by the attached drawings, in which: - Figure 1 is an embodiment of a device implementing the invention, - figure 2 represents a coding device according to the invention, - figure 3 represents an embodiment of coding method according to the invention, - figure 4 represents an amplitude model used according to the present invention , - Figure 5 shows an embodiment of location coding included in the method of Figure 3, - Figures 6 and 7 show examples of the application of disruptive genetic operators to genomes,

- les figures 8 et 9 représentent des exemples d'application 10 d'opérateurs génétiques constructifs à des génomes.  - Figures 8 and 9 show examples of application 10 of constructive genetic operators to genomes.

Selon le mode de réalisation choisi et représenté à la figure 1, un dispositif mettant en oeuvre l'invention est par exemple un microordinateur 10 connecté à différents périphériques, par exemple une caméra numérique 107 15 (ou un scanner ou tout moyen d'acquisition ou de stockage d'image) reliée à  According to the embodiment chosen and represented in FIG. 1, a device implementing the invention is for example a microcomputer 10 connected to different peripherals, for example a digital camera 107 (or a scanner or any means of acquisition or image storage) connected to

une carte graphique et fournissant des informations à traiter selon l'invention.  a graphics card and providing information to be processed according to the invention.

Le dispositif 10 comporte une interface de communication 112 reliée à un réseau 113 apte à transmettre des données numériques à traiter ou inversement à transmettre des données traitées par le dispositif. Le dispositif 20 10 comporte également un moyen de stockage 108 tel que par exemple un disque dur. Il comporte aussi un lecteur 109 de disque 110. Ce disque 1 10 peut être une disquette, un CD-ROM ou un DVD-ROM, par exemple. Le disque 110 comme le disque 108 peuvent contenir des données traitées selon l'invention ainsi que le ou les programmes mettant en oeuvre l'invention qui, une fois lu par 25 le dispositif 10, sera stocké dans le disque dur 108. Selon une variante, le  The device 10 includes a communication interface 112 connected to a network 113 capable of transmitting digital data to be processed or, conversely, of transmitting data processed by the device. The device 20 also includes a storage means 108 such as for example a hard disk. It also includes a disc drive 109. This disc 110 can be a floppy disk, a CD-ROM or a DVD-ROM, for example. The disc 110 as the disc 108 can contain data processed according to the invention as well as the program or programs implementing the invention which, once read by the device 10, will be stored in the hard disc 108. According to a variant , the

programme permettant au dispositif de mettre en oeuvre l'invention, pourra être stocké en mémoire morte 102 (appelée ROM sur le dessin). En seconde variante, le programme pourra être reçu pour être stocké de façon identique à celle décrite précédemment par l'intermédiaire du réseau de communication 30 113.  program allowing the device to implement the invention, may be stored in read-only memory 102 (called ROM in the drawing). In a second variant, the program can be received to be stored in an identical manner to that described previously via the communication network 30 113.

Le dispositif 10 est relié à un microphone 111. Les données à traiter  The device 10 is connected to a microphone 111. The data to be processed

selon l'invention seront dans ce cas du signal audio.  according to the invention will in this case be an audio signal.

Ce même dispositif possède un écran 104 permettant de visualiser les données à traiter ou de servir d'interface avec l'utilisateur qui peut ainsi paramétrer certains modes de traitement, à l'aide du clavier 114 ou de tout  This same device has a screen 104 making it possible to view the data to be processed or to serve as an interface with the user who can thus configure certain processing modes, using the keyboard 114 or any

autre moyen (souris par exemple).other means (mouse for example).

L'unité centrale 100 (appelée CPU sur le dessin) exécute les instructions relatives à la mise en oeuvre de l'invention, instructions stockées dans la mémoire morte 102 ou dans les autres éléments de stockage. Lors de la mise sous tension, les programmes de traitement stockés dans une mémoire non volatile, par exemple la ROM 102, sont transférés dans la mémoire vive 10 RAM 103 qui contiendra alors le code exécutable de l'invention ainsi que des registres pour mémoriser les variables nécessaires à la mise en oeuvre de l'invention. De manière plus générale, un moyen de stockage d'information, lisible par un ordinateur ou par un microprocesseur, intégré ou non au 15 dispositif, éventuellement amovible, mémorise un programme mettant en  The central unit 100 (called CPU in the drawing) executes the instructions relating to the implementation of the invention, instructions stored in the read-only memory 102 or in the other storage elements. During power-up, the processing programs stored in a non-volatile memory, for example the ROM 102, are transferred to the random access memory 10 RAM 103 which will then contain the executable code of the invention as well as registers for storing the variables necessary for the implementation of the invention. More generally, a means of storing information, readable by a computer or by a microprocessor, integrated or not in the device, possibly removable, stores a program implementing

oeuvre le procédé selon l'invention.  implements the method according to the invention.

Le bus de communication 101 permet la communication entre les  Communication bus 101 allows communication between the

différents éléments inclus dans le micro-ordinateur 10 ou reliés à lui. La représentation du bus 101 n'est pas limitative et notamment l'unité centrale 100 20 est susceptible de communiquer des instructions à tout élément du microordinateur 10 directement ou par l'intermédiaire d'un autre élément du microordinateur 10.  various elements included in the microcomputer 10 or connected to it. The representation of the bus 101 is not limiting and in particular the central unit 100 20 is capable of communicating instructions to any element of the microcomputer 10 directly or through another element of the microcomputer 10.

En référence à la figure 2, un mode de réalisation de dispositif de 25 codage 2 selon l'invention est destiné à coder un signal numérique dans le but de le compresser. Le dispositif de codage est intégré dans un appareil, qui est par exemple un appareil photographique numérique, un caméscope numérique, un scanner, une imprimante, un photocopieur, un télécopieur, un  With reference to FIG. 2, an embodiment of coding device 2 according to the invention is intended to code a digital signal in order to compress it. The coding device is integrated into a device, which is for example a digital camera, a digital camcorder, a scanner, a printer, a photocopier, a fax machine, a

système de gestion de base de données ou encore un ordinateur.  database management system or even a computer.

Une source d'image 1 fournit une image numérique IM au dispositif  An image source 1 provides a digital IM image to the device

de codage 2, qui comporte un circuit de transformation 21, un circuit de détermination de parcours de codage 22 et un circuit de codage entropique 23.  coding 2, which includes a transformation circuit 21, a coding path determination circuit 22 and an entropy coding circuit 23.

Le fonctionnement du dispositif de codage et plus particulièrement du circuit de  The operation of the coding device and more particularly of the

détermination de parcours de codage 22 sera détaillé dans la suite.  determination of coding path 22 will be detailed below.

Le dispositif selon l'invention comporte: - des moyens de détermination d'une population initiale de parcours, 5 - des moyens d'évaluation des parcours de la population initiale, en fonction d'un critère d'évaluation, - des moyens de séparation de la population en un groupe d'exploration et en un groupe d'optimisation locale, en fonction du résultat de l'évaluation des parcours, - des moyens d'application d'un opérateur génétique disruptif sur le groupe d'exploration, de manière à former des seconds parcours, - des moyens d'application d'un opérateur génétique constructif sur le groupe d'optimisation locale, de manière à former des troisièmes parcours, - des moyens de formation d'une seconde population comportant au 15 moins les seconds et troisièmes parcours, - des moyens d'évaluation des parcours de la seconde population, en fonction du critère d'évaluation, - des moyens de sélection des meilleurs parcours de la seconde  The device according to the invention comprises: - means for determining an initial course population, 5 - means for evaluating the course of the initial population, according to an evaluation criterion, - means for separation of the population in an exploration group and in a local optimization group, according to the result of the evaluation of the routes, - means of application of a disruptive genetic operator on the exploration group, so to form second courses, - means of applying a constructive genetic operator to the local optimization group, so as to form third courses, - means of training a second population comprising at least the second and third routes, - means of evaluating the routes of the second population, according to the evaluation criterion, - means of selecting the best routes of the second

population, selon le critère d'évaluation, pour former une troisième population.  population, according to the evaluation criterion, to form a third population.

Le dispositif de codage fournit un fichier contenant des données représentant l'image compressée à des moyens de transmission et/ou de  The coding device supplies a file containing data representing the compressed image to transmission and / or transmission means.

mémorisation 3. Ces moyens sont classiques et ne seront pas décrits ici.  memorization 3. These means are conventional and will not be described here.

2 5 La figure 3 représente un mode de réalisation de procédé de codage d'une image, selon l'invention. Ce procédé est mis en oeuvre dans le  FIG. 3 represents an embodiment of an image coding method according to the invention. This process is implemented in the

dispositif de codage et comporte des étapes El à E7.  coding device and comprises steps E1 to E7.

Le procédé comporte globalement une transformation du signal à coder, puis la détermination d'un modèle d'amplitude des coefficients issus de 30 la transformation. Les emplacements de ces coefficients sont ensuite codés  The method generally comprises a transformation of the signal to be coded, then the determination of an amplitude model of the coefficients resulting from the transformation. The locations of these coefficients are then coded

selon une méthode qui utilise un parcours établi parmi les coefficients.  according to a method which uses a path established among the coefficients.

Un tel procédé de codage est décrit par exemple dans la demande de brevet français no 01 06933 ou dans les demandes de brevets français n0  Such a coding method is described for example in French patent application no. 01 06933 or in French patent applications no.

02 00330 et 02 00332 déposées par la demanderesse.  02 00330 and 02 00332 filed by the plaintiff.

Le procédé est réalisé sous la forme d'un algorithme qui peut être 5 mémorisé en totalité ou en partie dans tout moyen de stockage d'information capable de coopérer avec le microprocesseur. Ce moyen de stockage est lisible par un ordinateur ou par un microprocesseur. Ce moyen de stockage est intégré ou non au dispositif, et peut être amovible. Par exemple, il peut comporter une bande magnétique, une disquette ou un CD-ROM (disque 10 compact à mémoire figée).  The method is carried out in the form of an algorithm which can be stored in whole or in part in any information storage means capable of cooperating with the microprocessor. This storage means can be read by a computer or by a microprocessor. This storage means is integrated or not to the device, and can be removable. For example, it may include a magnetic tape, a floppy disk or a CD-ROM (compact disk 10 with frozen memory).

L'étape El est une transformation linéaire ou non linéaire d'une image numérique IM à traiter selon l'invention. L'image a par exemple une taille  Step E1 is a linear or non-linear transformation of a digital image IM to be processed according to the invention. The image has for example a size

de 512 x 512 pixels.of 512 x 512 pixels.

Dans le mode préféré de réalisation de l'invention, la transformation 15 est une décomposition en sous-bandes de fréquences.  In the preferred embodiment of the invention, the transformation 15 is a decomposition into frequency sub-bands.

Le signal est décomposé en sous-bandes de fréquence à plusieurs niveaux de résolution par une transformation en ondelettes discrètes dite DWT  The signal is broken down into frequency sub-bands at several resolution levels by a transformation into discrete wavelets called DWT

(d'après l'anglais Discrete Wavelet Transform) à M niveaux de résolution.  (from English Discrete Wavelet Transform) at M resolution levels.

Il est à noter que la sous-bande basse peut être codée selon le 20 procédé décrit ci-après ou de façon classique par prédiction linéaire.  It should be noted that the low sub-band can be coded according to the method described below or in a conventional manner by linear prediction.

D'autres types de transformation peuvent être utilisés, par exemple la transformation en cosinus discrète dite DCT ou la transformation de Fourier ou encore une transformation non-linéaire comme une transformation morphologique. L'étape suivante E2 est la sélection d'une première sous-bande résultant de la décomposition précédente. Les sous- bandes sont considérées  Other types of transformation can be used, for example the discrete cosine transformation called DCT or the Fourier transformation or a non-linear transformation such as a morphological transformation. The next step E2 is the selection of a first sub-band resulting from the previous decomposition. The sub-bands are considered

une par une.one by one.

L'étape suivante E3 est un classement des coefficients de la sousbande courante. Le signe des coefficients est tout d'abord codé de manière 30 indépendante. Les coefficients sont ensuite considérés en valeur absolue et  The next step E3 is a classification of the coefficients of the current subband. The sign of the coefficients is first of all coded independently. The coefficients are then considered in absolute value and

sont classés du plus grand au plus petit.  are ranked from largest to smallest.

L'étape suivante E4 est la détermination d'une fonction d'approximation de la suite des coefficients classés. Cette fonction est par exemple une exponentielle décroissante définie par un jeu de paramètres qui  The next step E4 is the determination of an approximation function of the sequence of classified coefficients. This function is for example a decreasing exponential defined by a set of parameters which

sont déterminés par régression.are determined by regression.

La figure 4 représente un exemple de modèle d'amplitude A. A chaque valeur entière k en abscisse correspond une valeur A(k) fournie par le modèle d'amplitude. La valeur A(k) est une approximation de l'amplitude du  FIG. 4 represents an example of an amplitude model A. To each integer value k on the abscissa corresponds a value A (k) supplied by the amplitude model. The value A (k) is an approximation of the amplitude of the

kme coefficient classé par ordre décroissant.  kme coefficient classified in descending order.

L'étape suivante E5 est le codage des emplacements des coefficients. Cette étape comporte la détermination d'un parcours parmi les coefficients de la sous-bande courante de sorte que le cot de codage de ce parcours soit minimal. Le parcours comporte un coefficient initial et la liste des 15 vecteurs joignant les autres coefficients. Chaque coefficient du parcours différent du coefficient initial est représenté par un vecteur décrivant son emplacement par rapport au coefficient précédent dans le parcours. Il est à noter que le parcours ne passe pas forcement par tous les coefficients de la sous-bande courante. En effet, il est possible de ne coder qu'une partie des 20 coefficients et de mettre les autres coefficients à la valeur zéro lors du  The next step E5 is the coding of the locations of the coefficients. This step includes the determination of a path among the coefficients of the current sub-band so that the coding cost of this path is minimal. The route includes an initial coefficient and the list of 15 vectors joining the other coefficients. Each coefficient of the course different from the initial coefficient is represented by a vector describing its location with respect to the previous coefficient in the course. It should be noted that the route does not necessarily pass through all the coefficients of the current sub-band. Indeed, it is possible to code only part of the 20 coefficients and to set the other coefficients to zero when

décodage ultérieur.subsequent decoding.

Une fois le parcours déterminé, les coordonnées du coefficient initial sont codées par un codage binaire et les vecteurs sont codés par un codage entropique. L'étape E5 est détaillée dans la suite. Elle se situe dans le domaine des techniques de résolution du problème de voyageur de commerce. Plus particulièrement, il s'agit du problème du voyageur de commerce variable dans le temps. En effet, le cot associé au passage d'un échantillon à un autre dépend du parcours déjà effectué, puisque la distorsion de décodage d'un 30 échantillon dépend du rang auquel il est décodé et le débit dépend du vecteur  Once the route has been determined, the coordinates of the initial coefficient are coded by binary coding and the vectors are coded by entropy coding. Step E5 is detailed below. It is in the area of techniques for solving the problem of a traveling salesman. More specifically, this is the problem of the time-varying traveling salesman. Indeed, the cost associated with the passage from one sample to another depends on the path already taken, since the decoding distortion of a sample depends on the rank at which it is decoded and the bit rate depends on the vector.

engendré et des vecteurs déjà présents dans le parcours effectué.  generated and vectors already present in the route taken.

La forme codée d'une sous-bande de l'image comporte un modèle  The coded form of a sub-band of the image includes a model

d'amplitude qui fournit une approximation de l'amplitude des coefficients et un parcours qui fournit une suite ordonnée des emplacements des coefficients.  of amplitude which provides an approximation of the amplitude of the coefficients and a path which provides an ordered sequence of the locations of the coefficients.

L'emplacement du kème coefficient de cette suite est déterminé par le parcours 5 et son amplitude est déterminée par l'ordonnée correspondant à l'abscisse k selon le modèle d'amplitude.  The location of the kth coefficient of this sequence is determined by the path 5 and its amplitude is determined by the ordinate corresponding to the abscissa k according to the amplitude model.

L'étape suivante E6 est un test pour déterminer si la sous-bande  The next step E6 is a test to determine if the sub-band

courante est la dernière sous-bande de l'image à coder.  current is the last sub-band of the image to be coded.

Si la réponse est négative, cette étape est suivie de l'étape E7 à l1 laquelle une sous-bande suivante est considérée. L'étape E7 est suivie de  If the answer is negative, this step is followed by step E7 to 11 which a next sub-band is considered. Step E7 is followed by

l'étape E3 précédemment décrite.  step E3 previously described.

Si la réponse est positive à l'étape E6, alors les données codées subissent un codage entropique connu en soi, tel que codage d'Huffman ou codage arithmétique, et le codage de l'image est terminé. 15 La figure 5 représente un mode de réalisation de l'étape E5 de codage des emplacements des coefficients. Ce codage comporte des étapes  If the response is positive in step E6, then the coded data undergoes an entropy coding known per se, such as Huffman coding or arithmetic coding, and the coding of the image is finished. FIG. 5 represents an embodiment of step E5 of coding the locations of the coefficients. This coding includes steps

E51 à E60.E51 to E60.

Ce codage comporte globalement la détermination d'un parcours 20 parmi les coefficients et le codage des coefficients en fonction du parcours. Un parcours comporte un coefficient de la sous-bande, dit coefficient initial, et une  This coding generally comprises the determination of a path 20 among the coefficients and the coding of the coefficients as a function of the path. A route has a coefficient of the sub-band, called the initial coefficient, and a

liste de vecteurs joignant au moins une partie des autres coefficients.  list of vectors joining at least some of the other coefficients.

La détermination du parcours est optimisée selon l'invention.  The route determination is optimized according to the invention.

On considère une population de solutions qui définissent chacune un 25 parcours possible parmi les coefficients.  We consider a population of solutions which each define a possible path among the coefficients.

Une solution possible est décrite par un génome. Un génome est ici une liste de Q+1 indices, o Q est le nombre de points dans la sous-bande de fréquence considérée. Les coefficients de la sous-bande sont considérés de gauche à droite et de haut en bas dans la sous-bande. Chaque coefficient de la 30 sous-bande est associé à un indice en fonction de cet ordre de lecture. Un indice supplémentaire X est réservé au point d'arrêt du parcours. Au-delà de ce  One possible solution is described by a genome. A genome is here a list of Q + 1 indices, where Q is the number of points in the frequency sub-band considered. The coefficients of the sub-band are considered from left to right and from top to bottom in the sub-band. Each coefficient of the sub-band is associated with an index according to this reading order. An additional index X is reserved at the stopping point of the route. Beyond that

point, les coefficients ne sont plus codés.  period, the coefficients are no longer coded.

Ainsi, par exemple, le parcours des points 1-5-8-10-4 dans une image de dix points peut être codé de la façon suivante:  So, for example, the route of points 1-5-8-10-4 in a ten-point image can be coded as follows:

(1 58104X23679).(1 58104X23679).

L'ordre des points après le point d'arrêt X n'a aucune importance.  The order of the points after the breakpoint X has no importance.

Pour un ensemble de points à parcourir de taille donnée, des chemins de longueurs différentes dans cet ensemble sont représentés par les  For a set of points to be traversed of given size, paths of different lengths in this set are represented by

génomes de longueur fixe.fixed length genomes.

L'étape E51 est une initialisation de la population des génomes. 10 Pour cela, un tirage aléatoire est réalisé pour déterminer pL solutions. En variante, il est possible de choisir au moins une partie des génomes de la  Step E51 is an initialization of the genome population. 10 For this, a random draw is carried out to determine pL solutions. As a variant, it is possible to choose at least part of the genomes of the

population initiale.initial population.

L'étape suivante E52 est une évaluation réalisée par une fonction d'adaptation qui mesure la performance de chaque génome précédemment 15 déterminé. Pour cela, un cot de codage R + k.D est calculé pour chaque  The next step E52 is an evaluation carried out by an adaptation function which measures the performance of each previously determined genome. For this, a coding cost R + k.D is calculated for each

chemin représenté par un génome.path represented by a genome.

Le cot de codage représente un compromis entre débit et distorsion. Le cot de codage d'un signal S est ici la fonction C(S) = R(S) + X.D(S), dans laquelle R(S) représente le débit de transmission de la forme 20 codée du signal S, D(S) représente la distorsion générée dans le signal reconstruit après codage et décodage, par rapport au signal d'origine et X; est  The coding cost represents a compromise between bit rate and distortion. The coding cost of a signal S is here the function C (S) = R (S) + XD (S), in which R (S) represents the transmission rate of the coded form of the signal S, D ( S) represents the distortion generated in the reconstructed signal after coding and decoding, with respect to the original signal and X; East

un paramètre de réglage entre compression et distorsion.  a setting parameter between compression and distortion.

Il est à noter que la minimisation de la fonction C(S) sur le signal S est équivalente à la minimisation de la fonction C(S) sur chaque élément d'une 25 partition du signal, en particulier sur chaque échantillon du signal. Cela est du  It should be noted that the minimization of the function C (S) on the signal S is equivalent to the minimization of the function C (S) on each element of a partition of the signal, in particular on each sample of the signal. This is due

au fait que la distorsion et le débit sont respectivement additifs.  to the fact that the distortion and the flow are respectively additive.

L'étape suivante E53 est une sélection ou séparation de la population en deux groupes. Pour cela, on considère un coefficient P compris dans l'intervalle fermé [0, 1]. La population de Ii génomes est alors divisée en 30 un groupe d'optimisation locale comportant P.Ft génomes et un groupe  The next step E53 is a selection or separation of the population into two groups. For this, we consider a coefficient P in the closed interval [0, 1]. The population of Ii genomes is then divided into a local optimization group comprising P.Ft genomes and a group

d'exploration comportant (1-P).pt génomes.  exploration comprising (1-P) .pt genomes.

Il est à noter qu'un même génome ne peut appartenir aux deux groupes. En revanche, si deux génomes sont identiques, il est possible qu'ils  It should be noted that the same genome cannot belong to the two groups. On the other hand, if two genomes are identical, it is possible that they

se trouvent chacun dans un groupe différent.  are each in a different group.

De préférence, le groupe d'optimisation locale comporte les P.pi 5 meilleurs génomes de la population, au sens de l'évaluation précédemment effectuée. Les meilleurs génomes sont les génomes qui produisent les cots de codage les plus faibles. En variante, les génomes du groupe d'optimisation locale sont déterminés par un tirage aléatoire selon lequel la probabilité d'être  Preferably, the local optimization group includes the P.pi 5 best genomes of the population, within the meaning of the evaluation previously carried out. The best genomes are the genomes that produce the lowest coding costs. Alternatively, the genomes of the local optimization group are determined by a random draw according to which the probability of being

sélectionné augmente en fonction de la performance du génome.  selected increases with the performance of the genome.

Le groupe d'optimisation locale permet de trouver une solution optimum, mais qui peut n'être qu'un optimum local si la recherche est limitée à  The local optimization group makes it possible to find an optimum solution, but which may only be a local optimum if the search is limited to

ce groupe.this group.

Le groupe d'exploration comporte les (1-P).It autres génomes. Ce groupe permet au contraire d'explorer tout l'espace de recherche de manière à 15 ce que l'algorithme ne converge pas trop rapidement et que la solution ne soit  The exploration group includes the (1-P) .It other genomes. On the contrary, this group makes it possible to explore the entire search space in such a way that the algorithm does not converge too quickly and that the solution is not

pas un optimum local.not a local optimum.

L'étape E53 est suivie des étapes E54 et E55.  Step E53 is followed by steps E54 and E55.

A l'étape E54, un opérateur génétique disruptif est appliqué sur le  In step E54, a disruptive genetic operator is applied to the

groupe d'exploration. Cet opérateur comporte une mutation qui est appliquée à 20 tous les génomes du groupe d'exploration.  exploration group. This operator has a mutation which is applied to all the genomes of the exploration group.

Par exemple, l'opérateur disruptif est une mutation qui provoque de grands sauts dans l'espace de recherche. La mutation " Scramble Mutation " décrite par P. Larranaga, C. M. H. Kuijpers et R.H. Murga dans " Tackling the travelling Salesman Problem with Evolutionary Algorithms: Representation and 25 Operators ", page 36, satisfait ce critère. Ce document est accessible dans la base de données de " Scientific Literature Digital Library " à l'adresse internet:  For example, the disruptive operator is a mutation that causes large jumps in the search space. The mutation "Scramble Mutation" described by P. Larranaga, C. M. H. Kuijpers and R.H. Murga in "Tackling the traveling Salesman Problem with Evolutionary Algorithms: Representation and 25 Operators", page 36, satisfies this criterion. This document is available in the "Scientific Literature Digital Library" database at the internet address:

http://citeseer.ni.nec.com/2 10802.html.  http://citeseer.ni.nec.com/2 10802.html.

Un exemple d'application de la mutation " Scramble Mutation " est 30 représenté à la figure 6. Cette mutation sélectionne aléatoirement une partie 61 d'un génome donné 60 et la retire de celui-ci. Les index de la partie retirée 61 sont réordonnés aléatoirement et sont ensuite réintroduit dans le génome  An example of application of the “Scramble Mutation” mutation is shown in FIG. 6. This mutation randomly selects part 61 of a given genome 60 and withdraws it from it. The indices of the removed part 61 are randomly reordered and are then reintroduced into the genome

initial pour former un second génome 62.  initial to form a second genome 62.

En variante, l'opérateur disruptif comporte une ou plusieurs applications de la mutation appelée " Exchange mutation " et qui consiste à échanger l'emplacement de deux index choisis aléatoirement dans le génome. La figure 7 représente l'application de cette mutation à un génome  As a variant, the disruptive operator has one or more applications of the mutation called "Exchange mutation" which consists in exchanging the location of two indexes chosen randomly in the genome. Figure 7 shows the application of this mutation to a genome

70. Les index 8 et 3 sont échangés ce qui produit un nouveau génome 71.  70. The indexes 8 and 3 are exchanged, which produces a new genome 71.

A l'étape E55, un opérateur génétique constructif est appliqué sur le 10groupe d'optimisation locale. Cet opérateur comporte un croisement suivi d'une  In step E55, a constructive genetic operator is applied to the local optimization group. This operator includes a cross followed by a

mutation. Un croisement est un opérateur stochastique binaire qui combine une ou plusieurs caractéristiques de deux génomes parents de façon aléatoire de manière à générer un ou des nouveaux génomes. En variante, le croisement est replacé par une duplication des génomes parents, c'està-dire une recopie 15 de ceux-ci.  mutation. A cross is a binary stochastic operator which combines one or more characteristics of two parent genomes in a random manner so as to generate one or more new genomes. As a variant, the crossing is replaced by a duplication of the parent genomes, that is to say a copy of these.

Chacun des génomes du groupe d'optimisation locale est un génome parent et est utilisé une seule fois. En variante, les génomes parents  Each of the genomes in the local optimization group is a parent genome and is used only once. Alternatively, the parent genomes

sont sélectionnés par tirage aléatoire.  are selected by random draw.

L'opérateur de croisement est appliqué à deux génomes parents. 2 0 Une mutation est ensuite appliquée aux deux génomes générés par le croisement. Par exemple, on utilise le croisement appelé " Order crossover "  The crossover operator is applied to two parent genomes. A mutation is then applied to the two genomes generated by the cross. For example, we use the cross called "Order crossover"

décrit par P. Larranaga, C. M. H. Kuijpers et R.H. Murga dans " Tackling the travelling Salesman Problem with Evolutionary Algorithms: Representation and 25 Operators ", pages 24-25.  described by P. Larranaga, C. M. H. Kuijpers and R.H. Murga in "Tackling the traveling Salesman Problem with Evolutionary Algorithms: Representation and 25 Operators", pages 24-25.

Ce croisement est représenté à la figure 8. Deux points de coupure 82 sont sélectionnés aléatoirement à l'intérieur de chacun des génomes parents 80 et 81. Chaque génome généré 83, 84 reçoit les index de l'un des 30 génomes parents 80, 81 entre les points de coupure. Puis les autres positions reçoivent les valeurs d'index de l'autre parent qui sont différentes de celles déjà affectées et dans l'ordre o elles apparaissent dans l'autre parent à partir du  This crossing is represented in FIG. 8. Two cut points 82 are randomly selected inside each of the parent genomes 80 and 81. Each generated genome 83, 84 receives the indices of one of the 30 parent genomes 80, 81 between the cut points. Then the other positions receive the index values of the other parent which are different from those already assigned and in the order they appear in the other parent from the

second point de coupure.second cut-off point.

Selon un autre exemple, on utilise le croisement appelé " The  According to another example, we use the cross called "The

position based crossover " décrit par P. Larranaga, C. M. H. Kuijpers et R.H. 5 Murga dans "Tackling the travelling Salesman Problem with Evolutionary Algorithms: Representation and Operators ", page 26.  position based crossover "described by P. Larranaga, C. M. H. Kuijpers and R.H. 5 Murga in" Tackling the traveling Salesman Problem with Evolutionary Algorithms: Representation and Operators ", page 26.

Ce croisement est représenté à la figure 9. Des positions sont sélectionnées aléatoirement dans les génomes parents 90 et 91. Il s'agit ici des  This crossing is represented in FIG. 9. Positions are selected randomly in the parent genomes 90 and 91. These are the

deuxième, troisième et sixième positions.  second, third and sixth positions.

Un génome généré 92, 93 reçoit à ces positions les valeurs d'index situées aux mêmes positions de l'un des parents. Les autres positions reçoivent les valeurs d'index de l'autre parent qui sont différentes de celles déjà  A genome generated 92, 93 receives at these positions the index values located at the same positions of one of the parents. The other positions receive the index values of the other parent which are different from those already

affectées et dans l'ordre o elles apparaissent dans l'autre parent.  affected and in the order they appear in the other parent.

Deux génomes sont ainsi générés.  Two genomes are thus generated.

Pour la mutation qui suit le croisement, on utilise l'opérateur décrit précédemment ou en variante, on utilise l'opérateur de mutation appelé " Insertion mutation " décrit par P. Larranaga, C. M. H. Kuijpers et R.H. Murga dans " Tackling the travelling Salesman Problem with Evolutionary Algorithms:  For the mutation that follows the crossing, we use the operator described above or alternatively, we use the mutation operator called "Insertion mutation" described by P. Larranaga, CMH Kuijpers and RH Murga in "Tackling the traveling Salesman Problem with Evolutionary Algorithms:

Representation and Operators ", page 34.  Representation and Operators ", page 34.

Cet opérateur sélectionne aléatoirement un index dans un génome,  This operator randomly selects an index in a genome,

le retire du génome et le réinsère à un position déterminée aléatoirement.  remove it from the genome and reinsert it at a randomly determined position.

Selon une variante de l'étape E55, les opérateurs de croisement,  According to a variant of step E55, the crossing operators,

mutation et duplication sont appliqués aléatoirement aux génomes parents.  mutation and duplication are applied randomly to the parent genomes.

Chaque opérateur a une probabilité d'être choisi. Le choix de l'opérateur à 25 appliquer est fait pour chaque couple à reproduire.  Each operator has a probability of being chosen. The choice of operator to apply is made for each pair to be reproduced.

L'étape suivante E56 est la réunion du groupe d'optimisation locale, de la population résultant de l'optimisation locale et de la population résultant  The next step E56 is the meeting of the local optimization group, of the population resulting from the local optimization and of the population resulting

de l'exploration.of exploration.

Le groupe d'optimisation locale contient par construction des 30 génomes performants au sens de l'évaluation réalisée à l'étape E52. La population résultant de l'optimisation locale est susceptible de contenir des génomes performants, en raison des opérateurs choisis et des génomes parents. La population résultant de l'exploration comporte des génomes qui sont susceptibles de réorienter la recherche de l'optimum vers une autre zone  The local optimization group contains by construction 30 efficient genomes within the meaning of the evaluation carried out in step E52. The population resulting from local optimization is likely to contain efficient genomes, due to the operators chosen and the parent genomes. The population resulting from the exploration comprises genomes which are likely to redirect the search for the optimum towards another zone

de l'espace de recherche.search space.

En variante, le groupe d'optimisation locale n'est pas inclus dans la 5 nouvelle population, ce qui permet de réduire la taille mémoire nécessaire pour mémoriser les données en cours de traitement.  As a variant, the local optimization group is not included in the new population, which makes it possible to reduce the memory size necessary to store the data being processed.

L'étape suivante E57 est une évaluation de la population courante.  The next step E57 is an evaluation of the current population.

Cette étape est analogue à l'étape E52 précédemment décrite. Elle a pour résultat une performance pour chaque génome, établie en fonction d'un critère 10 qui est ici un cot de codage.  This step is analogous to step E52 previously described. It results in a performance for each genome, established according to a criterion 10 which is here a coding cost.

L'étape suivante E58 est une sélection pour ne conserver que j  The next step E58 is a selection to keep only j

génomes. On utilise ici une sélection appelée tirage à la roulette décrite dans l'ouvrage " Evolutionary Computation 1: Basic Algorithms and operators " de John Grefensette, " the Institute of Physic Publishing, Bristol et Philadelphia ", 15 édité par T. Back, B. Fogel et T. Michalewicz, pages 175-176.  genomes. We use here a selection called roulette draw described in the book "Evolutionary Computation 1: Basic Algorithms and operators" by John Grefensette, "the Institute of Physic Publishing, Bristol and Philadelphia", 15 edited by T. Back, B. Fogel and T. Michalewicz, pages 175-176.

Cette méthode assigne à chaque génome une probabilité d'être  This method assigns to each genome a probability of being

sélectionné qui est proportionnelle à sa performance.  selected which is proportional to its performance.

En variante, on peut utiliser une sélection appelée " rankedselection ", décrite dans l'ouvrage précédent aux pages 187 à 194. Cette 20 sélection ordonne les génomes de la population selon leur performance. La  Alternatively, a selection called "rankedselection", described in the previous work on pages 187 to 194, can be used. This selection orders the genomes of the population according to their performance. The

probabilité de sélection dépend alors du rang du génome dans la population.  probability of selection then depends on the rank of the genome in the population.

En outre, dans toutes les variantes, le meilleur génome est  Furthermore, in all variants, the best genome is

systématiquement gardé dans la nouvelle population.  systematically kept in the new population.

L'étape suivante E59 est un test pour déterminer si un critère d'arrêt 25 est satisfait. Le critère d'arrêt est par exemple: - la performance du meilleur génome est satisfaisante pour le problème à résoudre, - il y a convergence et la population n'évolue plus d'une itération à l'autre,  The next step E59 is a test to determine whether a stop criterion 25 is satisfied. The stopping criterion is for example: - the performance of the best genome is satisfactory for the problem to be solved, - there is convergence and the population does not evolve from one iteration to another,

3 0 - une durée limite de traitement a été atteinte.  3 0 - a processing limit has been reached.

Le critère d'arrêt peut aussi être une combinaison de plusieurs  The stopping criterion can also be a combination of several

critères. Lorsque que l'un des critères est vérifié, il y a arrêt du traitement.  criteria. When one of the criteria is verified, treatment is stopped.

Tant que le critère d'arrêt n'est pas satisfait, le traitement est réitéré  As long as the termination criterion is not met, the treatment is repeated

et pour cela l'étape E59 est suivie de l'étape E53 précédemment décrite.  and for this step E59 is followed by step E53 previously described.

Lorsque le critère d'arrêt est satisfait, le meilleur génome au sens de la performance est sélectionné à l'étape E60. Dans l'exemple choisi, ce génome représente un parcours parmi un ensemble d'échantillons. Bien entendu, la présente invention n'est nullement limitée aux modes de réalisation décrits et représentés, mais englobe, bien au contraire,  When the stopping criterion is satisfied, the best genome in the sense of performance is selected in step E60. In the example chosen, this genome represents a route among a set of samples. Of course, the present invention is in no way limited to the embodiments described and shown, but includes, on the contrary,

toute variante à la portée de l'homme du métier.  any variant within the reach of the skilled person.

Claims (29)

REVENDICATIONS 1. Procédé d'optimisation d'une fonction, caractérisé en ce qu'il comporte les étapes de: - détermination (E51) d'une population initiale de solutions de la fonction, - évaluation (E52) des solutions de la population initiale, en fonction 10 d'un critère d'évaluation, séparation (E53) de la population en un groupe d'exploration et en un groupe d'optimisation locale, en fonction du résultat de l'évaluation des solutions, - application (E54) d'un opérateur génétique disruptif sur le groupe 15 d'exploration, de manière à former des secondes solutions, application (E55) d'un opérateur génétique constructif sur le groupe d'optimisation locale, de manière à former des troisièmes solutions, formation (E56) d'une seconde population comportant au moins les secondes et troisièmes solutions, - évaluation (E57) des solutions de la seconde population, en fonction du critère d'évaluation, - sélection (E58) des meilleures solutions de la seconde population,  1. Method for optimizing a function, characterized in that it comprises the steps of: - determination (E51) of an initial population of solutions of the function, - evaluation (E52) of the solutions of the initial population, according to an evaluation criterion, separation (E53) of the population into an exploration group and into a local optimization group, according to the result of the evaluation of the solutions, - application (E54) d a disruptive genetic operator on the exploration group, so as to form second solutions, application (E55) of a constructive genetic operator on the local optimization group, so as to form third solutions, training (E56 ) of a second population comprising at least the second and third solutions, - evaluation (E57) of the solutions of the second population, according to the evaluation criterion, - selection (E58) of the best solutions of the second population, selon le critère d'évaluation, pour former une troisième population.  according to the evaluation criterion, to form a third population. 2. Procédé selon la revendication 1, caractérisé en ce qu'il comporte la réitération des étapes de séparation (E53) à sélection (E58) jusqu'à ce qu'un  2. Method according to claim 1, characterized in that it comprises the reiteration of the separation steps (E53) with selection (E58) until a critère d'arrêt soit satisfait.stop criteria be met. 3. Procédé selon la revendication 1 ou 2, caractérisé en ce que la 3 0 séparation (E53) de la population comporte la formation du groupe d'optimisation locale par la sélection de solutions parmi les meilleures selon le  3. Method according to claim 1 or 2, characterized in that the separation (E53) of the population comprises the formation of the local optimization group by the selection of solutions among the best according to the critère d'évaluation.evaluation criteria. 4. Procédé selon l'une quelconque des revendications 1 à 3,  4. Method according to any one of claims 1 to 3, caractérisé en ce que la séparation (E53) de la population comporte la formation du groupe d'exploration par la sélection de solutions parmi les moins bonnes selon le critère d'évaluation.  characterized in that the separation (E53) of the population involves the formation of the exploration group by the selection of solutions among the least good according to the evaluation criterion. 5. Procédé selon l'une quelconque des revendications 1 à 4,  5. Method according to any one of claims 1 to 4, caractérisé en ce que l'opérateur génétique disruptif comporte (E54) une mutation.  characterized in that the disruptive genetic operator includes (E54) a mutation. 6. Procédé selon l'une quelconque des revendications 1 à 5,  6. Method according to any one of claims 1 to 5, caractérisé en ce que l'opérateur génétique constructif comporte (E55) un  characterized in that the constructive genetic operator includes (E55) a croisement, une mutation, une duplication ou la combinaison des trois.  crossing, mutation, duplication or combination of the three. 7. Procédé selon l'une quelconque des revendications 1 à 6,  7. Method according to any one of claims 1 to 6, caractérisé en ce que la seconde population comporte (E56) en outre le groupe  characterized in that the second population also includes (E56) the group d'optimisation locale.local optimization. 8. Procédé selon l'une quelconque des revendications 1 à 7, 20 caractérisé en ce que le critère d'arrêt (E59) est satisfait si l'évaluation de la  8. Method according to any one of claims 1 to 7, characterized in that the stopping criterion (E59) is satisfied if the evaluation of the meilleure solution de la troisième population satisfait un critère prédéterminé.  best solution of the third population satisfies a predetermined criterion. 9. Procédé selon l'une quelconque des revendications 1 à 7,  9. Method according to any one of claims 1 to 7, caractérisé en ce que le critère d'arrêt (E59) est satisfait si la troisième 25 population n'évolue plus d'une itération à l'autre.  characterized in that the stopping criterion (E59) is satisfied if the third population does not evolve more from one iteration to another. 10. Procédé selon l'une quelconque des revendications 1 à 7,  10. Method according to any one of claims 1 to 7, caractérisé en ce que le critère d'arrêt (E59) est satisfait si une durée prédéterminée de traitement est atteinte. 30  characterized in that the stopping criterion (E59) is satisfied if a predetermined duration of treatment is reached. 30 11. Procédé selon l'une quelconque des revendications 1 à 10,  11. Method according to any one of claims 1 to 10, caractérisé en ce qu'il est appliqué à la formation d'un parcours parmi des coefficients d'un signal, les solutions étant des parcours possibles, et en ce qu'il comporte la sélection (E60) de la meilleure solution dans la troisième population.  characterized in that it is applied to the formation of a path among the coefficients of a signal, the solutions being possible paths, and in that it comprises the selection (E60) of the best solution in the third population . 12. Procédé selon la revendication 11, caractérisé en ce qu'il est appliqué à la formation d'un parcours parmi des coefficients d'une image numérique.12. Method according to claim 11, characterized in that it is applied to the formation of a path among coefficients of a digital image. 13. Procédé selon la revendication 11 ou 12, caractérisé en ce que 10 le critère d'évaluation d'un parcours (E52, E53) est une minimisation d'un cot13. Method according to claim 11 or 12, characterized in that the criterion for evaluating a course (E52, E53) is a minimization of a cost de codage du signal, le codage utilisant le parcours considéré.  signal coding, coding using the route considered. 14. Dispositif d'optimisation d'une fonction, caractérisé en ce qu'il comporte (22): - des moyens de détermination d'une population initiale de solutions de la fonction, - des moyens d'évaluation des solutions de la population initiale, en fonction d'un critère d'évaluation, - des moyens de séparation de la population en un groupe 20 d'exploration et en un groupe d'optimisation locale, en fonction du résultat de l'évaluation des solutions, - des moyens d'application d'un opérateur génétique disruptif sur le groupe d'exploration, de manière à former des secondes solutions, des moyens d'application d'un opérateur génétique constructif sur 25 le groupe d'optimisation locale, de manière à former des troisièmes solutions, - des moyens de formation d'une seconde population comportant au moins les secondes et troisièmes solutions, - des moyens d'évaluation des solutions de la seconde population, en fonction du critère d'évaluation, - des moyens de sélection des meilleures solutions de la seconde  14. Device for optimizing a function, characterized in that it comprises (22): - means for determining an initial population of solutions of the function, - means for evaluating solutions of the initial population , according to an evaluation criterion, - means of separating the population into an exploration group and into a local optimization group, according to the result of the evaluation of the solutions, - means of applying a disruptive genetic operator to the exploration group, so as to form second solutions, means for applying a constructive genetic operator to the local optimization group, so as to form third solutions , - means of training a second population comprising at least the second and third solutions, - means of evaluating solutions of the second population, according to the evaluation criterion, - means of selecting the best other solutions of the second population, selon le critère d'évaluation, pour former une troisième population.  population, according to the evaluation criterion, to form a third population. 15. Dispositif selon la revendication 14, caractérisé en ce que les moyens de séparation à sélection sont adaptés à réitérer leur fonctionnement  15. Device according to claim 14, characterized in that the selection separation means are adapted to reiterate their operation jusqu'à ce qu'un critère d'arrêt soit satisfait.  until a stop criterion is satisfied. 16. Dispositif selon la revendication 14 ou 15, caractérisé en ce que les moyens de séparation de la population sont adaptés à former le groupe d'optimisation locale par la sélection de solutions parmi les meilleures selon le  16. Device according to claim 14 or 15, characterized in that the means for separating the population are adapted to form the local optimization group by selecting among the best solutions according to the critère d'évaluation.evaluation criteria. 17. Dispositif selon l'une quelconque des revendications 14 à 16,  17. Device according to any one of claims 14 to 16, caractérisé en ce que les moyens de séparation de la population sont adaptés à former le groupe d'exploration par la sélection de solutions parmi les moins  characterized in that the means for separating the population are suitable for forming the exploration group by selecting solutions from among the least bonnes selon le critère d'évaluation.  good according to the evaluation criterion. 18. Dispositif selon l'une quelconque des revendications 14 à 17,  18. Device according to any one of claims 14 to 17, caractérisé en ce qu'il est adapté à mettre en oeuvre un opérateur génétique  characterized in that it is suitable for implementing a genetic operator disruptif qui comporte une mutation.  disruptive that involves a mutation. 19. Dispositif selon l'une quelconque des revendications 14 à 18, 20 caractérisé en ce qu'il est adapté à mettre en oeuvre un opérateur génétique  19. Device according to any one of claims 14 to 18, 20 characterized in that it is adapted to use a genetic operator constructif qui comporte un croisement, une mutation, une duplication ou la  constructive which involves a crossing, a mutation, a duplication or the combinaison des trois.combination of the three. 20. Dispositif selon l'une quelconque des revendications 14 à 19, 25 caractérisé en ce que les moyens de formation de la seconde population sont  20. Device according to any one of claims 14 to 19, characterized in that the means for training the second population are adaptés à la former de sorte qu'elle comporte en outre le groupe d'optimisation locale.  adapted to train it so that it also includes the local optimization group. 21. Dispositif selon l'une quelconque des revendications 14 à 20, 30 caractérisé en ce qu'il est adapté à mettre en oeuvre un critère d'arrêt qui est  21. Device according to any one of claims 14 to 20, 30 characterized in that it is adapted to implement a stopping criterion which is satisfait si l'évaluation de la meilleure solution de la troisième population  satisfied if the evaluation of the best solution of the third population satisfait un critère prédéterminé.  meets a predetermined criterion. 22. Dispositif selon l'une quelconque des revendications 14 à 20,  22. Device according to any one of claims 14 to 20, caractérisé en ce qu'il est adapté à mettre en oeuvre un critère d'arrêt qui est  characterized in that it is suitable for implementing a stopping criterion which is satisfait si la troisième population n'évolue plus d'une itération à l'autre.  satisfied if the third population does not evolve more than one iteration to another. 23. Dispositif selon l'une quelconque des revendications 14 à 20,  23. Device according to any one of claims 14 to 20, caractérisé en ce qu'il est adapté à mettre en oeuvre un critère d'arrêt qui est  characterized in that it is suitable for implementing a stopping criterion which is satisfait si une durée prédéterminée de traitement est atteinte.  satisfied if a predetermined duration of treatment is reached. 24. Dispositif selon l'une quelconque des revendications 14 à 23,  24. Device according to any one of claims 14 to 23, caractérisé en ce qu'il est adapté à former un parcours parmi des coefficients d'un signal, les solutions étant des parcours possibles, et en ce qu'il comporte  characterized in that it is suitable for forming a path among coefficients of a signal, the solutions being possible paths, and in that it comprises des moyens de sélection de la meilleure solution dans la troisième population.  means of selecting the best solution in the third population. 25. Dispositif selon la revendication 24, caractérisé en ce qu'il est  25. Device according to claim 24, characterized in that it is adapté à former un parcours parmi des coefficients d'une image numérique.  adapted to form a path among coefficients of a digital image. 26. Dispositif selon la revendication 24 ou 25, caractérisé en ce qu'il est adapté à mettre en oeuvre un critère d'évaluation d'un parcours qui est une 20 minimisation d'un cot de codage du signal, le codage utilisant le parcours considéré.  26. Device according to claim 24 or 25, characterized in that it is adapted to implement a criterion for evaluating a path which is a minimization of a coding cost of the signal, the coding using the path considered. 27. Dispositif d'optimisation selon l'une quelconque des27. Optimization device according to any one of revendications 14 à 26, caractérisé en ce que les moyens de détermination, 25 évaluation, séparation, application, formation et sélection sont incorporés  Claims 14 to 26, characterized in that the means for determining, evaluating, separating, applying, training and selecting are incorporated dans: - un microprocesseur (100), - une mémoire morte (102) comportant un programme pour traiter les données, et 3 0 - une mémoire vive (103) comportant des registres adaptés à  in: - a microprocessor (100), - a read only memory (102) comprising a program for processing the data, and 30 - a random access memory (103) comprising registers adapted to enregistrer des variables modifiées au cours de l'exécution dudit programme.  save variables modified during the execution of said program. 28. Appareil de traitement (10) d'une image numérique, caractérisé en ce qu'il comporte des moyens adaptés à mettre en oeuvre le procédé selon  28. Apparatus for processing (10) a digital image, characterized in that it comprises means suitable for implementing the method according to l'une quelconque des revendications 1 à 13.  any one of claims 1 to 13. 29. Appareil de traitement (10) d'une image numérique, caractérisé  29. Apparatus for processing (10) a digital image, characterized en ce qu'il comporte le dispositif selon l'une quelconque des revendications 14  in that it comprises the device according to any one of claims 14 à 27.to 27.
FR0212874A 2002-10-16 2002-10-16 Mathematical function optimizing method for determining path among digital signal samples, involves separating initial population into groups to form solutions, selecting another population best solutions to form third population Withdrawn FR2846180A1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
FR0212874A FR2846180A1 (en) 2002-10-16 2002-10-16 Mathematical function optimizing method for determining path among digital signal samples, involves separating initial population into groups to form solutions, selecting another population best solutions to form third population

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
FR0212874A FR2846180A1 (en) 2002-10-16 2002-10-16 Mathematical function optimizing method for determining path among digital signal samples, involves separating initial population into groups to form solutions, selecting another population best solutions to form third population

Publications (1)

Publication Number Publication Date
FR2846180A1 true FR2846180A1 (en) 2004-04-23

Family

ID=32050443

Family Applications (1)

Application Number Title Priority Date Filing Date
FR0212874A Withdrawn FR2846180A1 (en) 2002-10-16 2002-10-16 Mathematical function optimizing method for determining path among digital signal samples, involves separating initial population into groups to form solutions, selecting another population best solutions to form third population

Country Status (1)

Country Link
FR (1) FR2846180A1 (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104809889A (en) * 2015-04-19 2015-07-29 北京工业大学 Traffic signal timing optimization method based on principal component analysis improvement genetic algorithm

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104809889A (en) * 2015-04-19 2015-07-29 北京工业大学 Traffic signal timing optimization method based on principal component analysis improvement genetic algorithm
CN104809889B (en) * 2015-04-19 2017-03-01 北京工业大学 Traffic Signal Timing optimization method based on principal component analysiss improved adaptive GA-IAGA

Similar Documents

Publication Publication Date Title
WO2016071577A1 (en) Method for producing animated images
FR2889382A1 (en) Multidimensional digital signal e.g. digital image, filtering method for e.g. coding device, involves obtaining filtering value of filtered sample in selecting one value among simulated filtering values of sample based on preset criterion
FR2790173A1 (en) DIGITAL SIGNAL TRANSFORMATION DEVICE AND METHOD
FR2835366A1 (en) Method and device for the forming of a reduced compressed digital signal
FR2816154A1 (en) INSERTION OF ADDITIONAL INFORMATION INTO DIGITAL DATA
FR2846835A1 (en) Data e.g. digital image coding process for digital camera and photocopier, involves selecting coding mode based on coding costs calculated according to same throughput-distortion bias for overall image
FR2792150A1 (en) Video image digital signal coding-decoding method, storing signal sub signal decompressed images first position and performing iterative process to determine optimum decoding techniques
FR2825224A1 (en) METHOD AND DEVICE FOR COMPRESSING AND / OR INDEXING DIGITAL IMAGES
FR2846180A1 (en) Mathematical function optimizing method for determining path among digital signal samples, involves separating initial population into groups to form solutions, selecting another population best solutions to form third population
FR2782861A1 (en) GEOMETRIC TRANSCODING OF A DIGITAL SIGNAL
FR2816138A1 (en) DECODING OF DIGITAL DATA
FR2901037A1 (en) Reference structural pattern generating method for computer, involves determining reference structural pattern per group of determined primary structural patterns, where reference pattern represents patterns of group
EP4161081A1 (en) Method for generating a personalized television channel for a user of a terminal configured to access at least one audiovisual content broadcasting service, corresponding device, service equipment, system and computer program.
FR2835665A1 (en) CODING AND DECODING OF DIGITAL SIGNALS
FR2853476A1 (en) Digital signal e.g. video image, coding process for e.g. printer, involves selecting code vectors dictionary from set comprising preset number of code vectors depending on length of path, and code vector in selected dictionary
FR2927745A1 (en) Digital signal filtering method for telecommunication system, involves determining optimal filter based on criterion that depends on values of sub-signal, and associating optimal filter with context function corresponding to sub-signal
FR2846837A1 (en) Data e.g. fixed images, video, sound sample coding process, involves determining basic list of samples that are to be coded and modifying samples in order to arrange them in decreasing amplitude
FR2846836A1 (en) Data e.g. video coding method, involves estimating number of coefficients that are to be coded according to criterion of coding and performing approximation of coefficients taken on estimation number and in order of calculation
FR2790172A1 (en) Digital signal transformation method, in which signal is processed by successive samples, such that calculations made on any series do not take into account samples in following series, and any series terminates in low frequency sample
FR2827408A1 (en) Genetic algorithm digital signal coding scheme
FR2790171A1 (en) Digital signal transformation method, in which signal is processed by successive samples, such that calculations made on any series do not take into account samples in following series, and any series terminates in low frequency sample
FR2929431A1 (en) METHOD AND DEVICE FOR CLASSIFYING SAMPLES REPRESENTATIVE OF AN IMAGE DIGITAL SIGNAL
FR2834832A1 (en) Fixed image/sound/video lossy digital signal compression having each element occurrences determined/null occurrences modified and associated rate function calculated following occurrence number
FR2829858A1 (en) Digital signal processing method e.g. for video signals, involves determining minimum distance between two samples and between copies of one sample and other sample
FR2846834A1 (en) Data e.g. digital image coding method for photocopier and scanner, involves forming vector between two sample slots of successive data based on slot of intermediate data that have not been already coded by vector

Legal Events

Date Code Title Description
ST Notification of lapse