FR2827408A1 - Genetic algorithm digital signal coding scheme - Google Patents
Genetic algorithm digital signal coding scheme Download PDFInfo
- Publication number
- FR2827408A1 FR2827408A1 FR0109471A FR0109471A FR2827408A1 FR 2827408 A1 FR2827408 A1 FR 2827408A1 FR 0109471 A FR0109471 A FR 0109471A FR 0109471 A FR0109471 A FR 0109471A FR 2827408 A1 FR2827408 A1 FR 2827408A1
- Authority
- FR
- France
- Prior art keywords
- individuals
- sub
- reproduction
- evaluation
- coding
- 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.)
- Pending
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T9/00—Image coding
- G06T9/007—Transform coding, e.g. discrete cosine transform
Abstract
Description
<Desc/Clms Page number 1> <Desc / Clms Page number 1>
La présente invention concerne la détermination de la valeur des paramètres de codage d'un signal numérique divisé en sous-signaux. The present invention relates to determining the value of the coding parameters of a digital signal divided into sub-signals.
Dans la suite, on considèrera plus particulièrement le cas où le signal est une image à coder selon la norme JPEG2000, dont la description est disponible via Internet à l'adresse http : //www. jpeg. org. Selon cette norme, une image à coder est divisée en tuiles indépendantes, chaque tuile possédant ses propres paramètres de codage. In the following, we will consider more particularly the case where the signal is an image to be coded according to the JPEG2000 standard, the description of which is available via the Internet at the address http: // www. jpeg. org. According to this standard, an image to be coded is divided into independent tiles, each tile having its own coding parameters.
D'autre part, une technique d'optimisation connue est le calcul évolutionnaire décrit par Thomas Bâck, Ulrich Hammel et Hans-Paul Schwefel dans Evolutionary Computation : Comments on the history and current state , IEEE Transactions on Evolutionary Computation, Vol. 1, N'l, avril 1997. On the other hand, a known optimization technique is the evolutionary calculus described by Thomas Bâck, Ulrich Hammel and Hans-Paul Schwefel in Evolutionary Computation: Comments on the history and current state, IEEE Transactions on Evolutionary Computation, Vol. 1, N'l, April 1997.
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 être énuméré. 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 be able to 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 guidée, c'est-à-dire qui ont une fonction globale ou locale à optimiser. Evolutionary calculus is thus part of the random techniques, and more specifically is part of the so-called guided random search techniques, 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 If, in an analytical approach, we seek to design a single solution to solve a problem, evolutionary calculus considers
<Desc/Clms Page number 2><Desc / Clms Page number 2>
un jeu de solutions et fait évoluer ce jeu de solution selon des règles qui sont calquées sur l'évolution de la vie : reproduction, mutation et sélection. a set of solutions and evolves this set of solutions according to rules which are 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 l'exploration et la sélection permet la convergence. 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 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 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 générés par la reproduction. 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 subset of individuals among 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 the weakest with respect to the problem to be solved, by individual child generated by reproduction.
Ces fonctions sont utilisées de manière itérative jusqu'à ce qu'un critère de convergence soit satisfait. These functions are used iteratively until a convergence criterion is satisfied.
Des exemples de combinaison sont exposé par J. Culberson dans Genetic invariance, a new paradigm for genetic algorithm design , technical report TR 92-02, juin 1992, université d'Alberta. Examples of combinations are exposed by J. Culberson in Genetic invariance, a new paradigm for genetic algorithm design, technical report TR 92-02, June 1992, University of Alberta.
Ce document décrit la recombinaison monopoint, la recombinaison multipoint et la recombinaison uniforme (en anglais : uniform crossover). This document describes monopoint recombination, multipoint recombination and uniform recombination (in English: uniform crossover).
La figure 9 illustre la recombinaison uniforme effectuée sur deux vecteurs de paramètres V1 et V2. Des points de rencontre, ici au nombre de trois, sont distribués de manière aléatoire sur les vecteurs. Un nouveau vecteur est créé par recombinaison uniforme, en sélectionnant les paramètres de l'un des vecteurs, ici Vi, jusqu'au premier point de rencontre, puis les paramètres de l'autre vecteur, ici V2, jusqu'au point de rencontre suivant, et ainsi de suite. FIG. 9 illustrates the uniform recombination carried out on two vectors of parameters V1 and V2. Meeting points, here three in number, are distributed randomly over the vectors. A new vector is created by uniform recombination, by selecting the parameters of one of the vectors, here Vi, up to the first meeting point, then the parameters of the other vector, here V2, until the next meeting point , And so on.
<Desc/Clms Page number 3> <Desc / Clms Page number 3>
La présente invention vise à augmenter la vitesse de calcul des paramètres de codage d'un signal divisé en sous-signaux en fournissant un procédé et un dispositif de détermination des paramètres de codage d'un signal numérique. The present invention aims to increase the speed of calculation of the coding parameters of a signal divided into sub-signals by providing a method and a device for determining the coding parameters of a digital signal.
A cette fin, l'invention propose un procédé de détermination des paramètres de codage d'un signal numérique représentatif de grandeurs physiques, ledit signal étant divisé en sous-signaux, un nombre prédéterminé de paramètres de codage étant attribué à chacun des sous-signaux, ladite détermination étant réalisée par calcul évolutionnaire comportant les étapes de : - génération d'un jeu d'individus, chaque individu comportant une série de paramètres pour chacun des sous-signaux, chaque série comportant le nombre prédéterminé de paramètres de codage pour l'un respectif des soussignaux, - évaluation des individus en fonction d'un critère d'évaluation, - sélection d'un sous-ensemble d'individus en fonction du résultat de l'évaluation, - reproduction des individus sélectionnés, - remplacement des individus non sélectionnés par des individus résultant de la reproduction, caractérisé en ce que l'étape de reproduction comporte une recombinaison multipoint de deux individus, selon laquelle un nombre de points de rencontre est égal au nombre de sous-signaux et chaque point de rencontre est choisi aléatoirement dans l'une respective des séries de paramètres. To this end, the invention proposes a method for determining the coding parameters of a digital signal representative of physical quantities, said signal being divided into sub-signals, a predetermined number of coding parameters being assigned to each of the sub-signals. , said determination being carried out by evolutionary calculation comprising the steps of: - generation of a set of individuals, each individual comprising a series of parameters for each of the sub-signals, each series comprising the predetermined number of coding parameters for the a respective of the undersignals, - evaluation of the individuals according to an evaluation criterion, - selection of a subset of individuals according to the result of the evaluation, - reproduction of the selected individuals, - replacement of the individuals not selected by individuals resulting from reproduction, characterized in that the reproduction step involves multi-recombination point of two individuals, according to which a number of meeting points is equal to the number of sub-signals and each meeting point is chosen randomly from one of the respective series of parameters.
Grâce à l'invention, la vitesse de convergence est plus élevée par rapport à une exploration combinatoire consistant à tester toutes les combinaisons de paramètres possibles ou, pour un même temps de calcul, les paramètres obtenus sont meilleurs. Thanks to the invention, the speed of convergence is higher compared to a combinatorial exploration consisting in testing all the combinations of possible parameters or, for the same calculation time, the parameters obtained are better.
Les points de rencontre sont distribués de manière uniforme dans toutes les séries de paramètres, ce qui permet de converger rapidement vers une solution efficace. The meeting points are distributed uniformly across all sets of parameters, allowing rapid convergence to an effective solution.
<Desc/Clms Page number 4> <Desc / Clms Page number 4>
Selon une caractéristique préférée, la reproduction comporte en outre une étape de mutation des individus résultant de la reproduction. According to a preferred characteristic, reproduction also comprises a step of mutation of the individuals resulting from reproduction.
Selon une autre caractéristique préférée, l'évaluation est effectuée en fonction d'un coût de codage. According to another preferred characteristic, the evaluation is carried out as a function of a coding cost.
Selon une caractéristique préférée, les étapes d'évaluation, sélection, reproduction et remplacement sont réitérées. Ainsi, plusieurs jeux d'individus sont générés. According to a preferred characteristic, the stages of evaluation, selection, reproduction and replacement are repeated. Thus, several sets of individuals are generated.
Selon une caractéristique préférée, le procédé comporte la sélection du meilleur individu évalué au cours des itérations. Ainsi, le meilleur individu au sens du critère d'évaluation peut être utilisé pour le codage ultérieur. According to a preferred characteristic, the method comprises the selection of the best individual evaluated during iterations. Thus, the best individual within the meaning of the evaluation criterion can be used for the subsequent coding.
L'invention concerne aussi un procédé de codage caractérisé en ce qu'au moins une partie des paramètres de codage sont déterminés par le procédé de détermination précédemment présenté. The invention also relates to a coding method characterized in that at least part of the coding parameters are determined by the previously presented determination method.
Corrélativement, l'invention concerne un dispositif de détermination des paramètres de codage d'un signal numérique représentatif de grandeurs physiques, ledit signal étant divisé en sous-signaux, un nombre prédéterminé de paramètres de codage étant attribué à chacun des sous-signaux, ladite détermination étant réalisée par des moyens de calcul évolutionnaire comportant : - des moyens de génération d'un jeu d'individus, chaque individu comportant une série de paramètres pour chacun des sous-signaux, chaque série comportant le nombre prédéterminé de paramètres de codage pour l'un respectif des sous-signaux, - des moyens d'évaluation des individus en fonction d'un critère d'évaluation, - des moyens de sélection d'un sous-ensemble d'individus en fonction du résultat de l'évaluation, - des moyens de reproduction des individus sélectionnés, - des moyens de remplacement des individus non sélectionnés par des individus résultant de la reproduction, caractérisé en ce que les moyens de reproduction sont adaptés à effectuer une recombinaison multipoint de deux individus, selon laquelle un Correlatively, the invention relates to a device for determining the coding parameters of a digital signal representative of physical quantities, said signal being divided into sub-signals, a predetermined number of coding parameters being assigned to each of the sub-signals, said determination being carried out by evolutionary computing means comprising: - means for generating a set of individuals, each individual comprising a series of parameters for each of the sub-signals, each series comprising the predetermined number of coding parameters for l '' a respective sub-signal, - means of evaluating individuals according to an evaluation criterion, - means of selecting a subset of individuals according to the result of the evaluation, - means of reproduction of selected individuals, - means of replacing individuals not selected by individuals resulting from reproduction, charac terrified in that the means of reproduction are adapted to effect a multipoint recombination of two individuals, according to which a
<Desc/Clms Page number 5><Desc / Clms Page number 5>
nombre de points de rencontre est égal au nombre de sous-signaux et chaque point de rencontre est choisi aléatoirement dans l'une respective des séries de paramètres. number of meeting points is equal to the number of sub-signals and each meeting point is chosen randomly from one of the respective sets of parameters.
L'invention concerne encore un dispositif de codage caractérisé en ce qu'il est adapté à déterminer au moins une partie des paramètres de codage par le dispositif précédemment présenté. The invention also relates to a coding device characterized in that it is suitable for determining at least part of the coding parameters by the device previously presented.
Le dispositif de détermination, le procédé et le dispositif de codage présentent des avantages analogues à ceux précédemment présentés. The determination device, the method and the coding device have advantages similar to 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 l'invention. Cet appareil numérique est par exemple un appareil photographique numérique, un caméscope numérique ou un scanner. Les avantages de l'appareil numérique sont identiques à ceux précédemment exposés. The invention also relates to a digital device 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 or a scanner. The advantages of the digital apparatus are identical to those previously exposed.
L'invention peut être mise en oeuvre par un programme d'ordinateur. The invention can be implemented by a computer program.
Un moyen de stockage d'information, lisible par un ordinateur ou par un microprocesseur, intégré ou non au dispositif, éventuellement amovible, mémorise le programme mettant en oeuvre le procédé selon l'invention. An information storage means, readable by a computer or by a microprocessor, integrated or not in the device, possibly removable, stores the program implementing the method 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 oeuvre l'invention, - la figure 2 est un mode de réalisation d'un dispositif mettant en oeuvre l'invention, - les figures 3 et 4 représentent une image à traiter selon l'invention, - la figure 5 représente un mode de réalisation de procédé selon l'invention, -la figure 6 représente les paramètres de codage d'une image, - la figure 7 illustre une étape de recombinaison incluse dans la présente invention, - la figure 8 illustre une étape de mutation incluse dans la présente invention. 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, - FIG. 2 is an embodiment of a device implementing the invention, - FIGS. 3 and 4 represent an image to be processed according to the invention, - FIG. 5 represents an embodiment of the method according to the invention, FIG. 6 represents the coding parameters of an image, FIG. 7 illustrates a recombination step included in the present invention, FIG. 8 illustrates a mutation step included in the present invention.
<Desc/Clms Page number 6> <Desc / Clms Page number 6>
- la figure 9 illustre une recombinaison uniforme selon la technique antérieure. - Figure 9 illustrates a uniform recombination according to the prior art.
Selon un mode de réalisation choisi et représenté à la figure 1, un dispositif de traitement de données selon l'invention est un dispositif 2 de codage de données qui comporte une entrée à laquelle est reliée une source 1 de données non codées. According to an embodiment chosen and shown in FIG. 1, a data processing device according to the invention is a data coding device 2 which has an input to which a source 1 of non-coded data is connected.
La source 1 comporte par exemple un moyen de mémoire, telle que mémoire vive, disque dur, disquette, disque compact, pour mémoriser des données non codées, ce moyen de mémoire étant associé à un moyen de lecture approprié pour y lire les données. Un moyen pour enregistrer les données dans le moyen de mémoire peut également être prévu. The source 1 comprises for example a memory means, such as random access memory, hard disk, floppy disk, compact disc, for storing uncoded data, this memory means being associated with a suitable reading means for reading the data there. Means for storing the data in the memory means can also be provided.
On considérera plus particulièrement dans la suite que les données à coder sont une suite d'échantillons numériques représentant une image. It will be considered more particularly below that the data to be coded is a series of digital samples representing an image.
La source 1 fournit un signal numérique d'image à l'entrée du dispositif de codage 2. Le signal d'image est une suite de mots numériques, par exemple des octets. Chaque valeur d'octet représente un pixel d'image, ici à 256 niveaux de gris, ou image noir et blanc. Les images peuvent être des images multispectrales, par exemple des images en couleur ayant des composantes dans trois bandes de fréquence, de type rouge-vert-bleu ou luminance et chrominances. Chaque bande est alors traitée de manière analogue à l'image monospectrale. En variante, pour des images en couleur, la segmentation hiérarchique calculée sur la luminance sera appliquée aux composantes de chrominance. The source 1 supplies a digital image signal to the input of the coding device 2. The image signal is a series of digital words, for example bytes. Each byte value represents an image pixel, here at 256 gray levels, or black and white image. The images can be multispectral images, for example color images having components in three frequency bands, of the red-green-blue or luminance and chrominance type. Each band is then treated in a manner analogous to the monospectral image. As a variant, for color images, the hierarchical segmentation calculated on the luminance will be applied to the chrominance components.
Le dispositif de codage de données comporte un dispositif de détermination des paramètres de codage d'un signal numérique représentatif de grandeurs physiques, ledit signal étant divisé en sous-signaux, un nombre prédéterminé de paramètres de codage étant attribué à chacun des soussignaux, ladite détermination étant réalisée par un circuit de calcul évolutionnaire comportant : - un circuit 21 de génération d'un jeu d'individus, chaque individu comportant une série de paramètres pour chacun des sous-signaux, chaque The data coding device comprises a device for determining the coding parameters of a digital signal representative of physical quantities, said signal being divided into sub-signals, a predetermined number of coding parameters being assigned to each of the sub-signals, said determination being carried out by an evolutionary calculation circuit comprising: a circuit 21 for generating a set of individuals, each individual comprising a series of parameters for each of the sub-signals, each
<Desc/Clms Page number 7><Desc / Clms Page number 7>
série comportant le nombre prédéterminé de paramètres de codage pour l'un respectif des sous-signaux, - un circuit 22 d'évaluation des individus en fonction d'un critère d'évaluation, - un circuit 23 de sélection d'un sous-ensemble d'individus en fonction du résultat de l'évaluation, - un circuit 24 de reproduction des individus sélectionnés, - un circuit 25 de remplacement des individus non sélectionnés par des individus résultant de la reproduction. series comprising the predetermined number of coding parameters for a respective one of the sub-signals, - a circuit 22 for evaluating individuals according to an evaluation criterion, - a circuit 23 for selecting a subset of individuals as a function of the result of the evaluation, - a circuit 24 for reproducing the selected individuals, - a circuit 25 for replacing the unselected individuals with individuals resulting from the reproduction.
Selon l'invention, le circuit 24 de reproduction est adapté à effectuer une recombinaison multipoint de deux individus, selon laquelle un nombre de points de rencontre est égal au nombre de sous-signaux et chaque point de rencontre est choisi aléatoirement dans l'une respective des séries de paramètres. According to the invention, the reproduction circuit 24 is adapted to perform a multipoint recombination of two individuals, according to which a number of meeting points is equal to the number of sub-signals and each meeting point is chosen randomly from one respectively series of parameters.
Le dispositif 2 comporte en outre un circuit 26 d'identification et un circuit de codage 27. The device 2 further comprises an identification circuit 26 and a coding circuit 27.
Le fonctionnement du dispositif 2 sera détaillé dans la suite à l'aide d'un algorithme. The operation of the device 2 will be detailed below using an algorithm.
Le dispositif selon l'invention 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 système de gestion de base de données, ou encore un ordinateur. The device according to the invention 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 database management system, or even a computer. .
Des moyens 3 utilisateurs de données codées sont reliés en sortie du dispositif de codage 2. Means 3 users of coded data are connected at the output of the coding device 2.
Les moyens utilisateurs 3 comportent par exemple des moyens de mémorisation de données codées, et/ou des moyens de transmission des données codées. The user means 3 comprise for example means for storing coded data, and / or means for transmitting the coded data.
Les moyens de mémorisation et/ou de transmission sont reliés à un dispositif de décodage 4 qui décode les données qu'il reçoit. Les données décodées, formant ici une image décodée, sont fournies à des moyens 5 utilisateurs de données décodées. Les moyens 5 comporte par exemple un écran pour afficher l'image décodée. The storage and / or transmission means are connected to a decoding device 4 which decodes the data it receives. The decoded data, here forming a decoded image, are supplied to means 5 users of decoded data. The means 5 comprises for example a screen for displaying the decoded image.
<Desc/Clms Page number 8> <Desc / Clms Page number 8>
La figure 2 représente un dispositif mettant en oeuvre l'invention sous la forme d'un micro-ordinateur 10 connecté à différents périphériques, par exemple une caméra numérique 107 (ou un scanner, ou tout moyen d'acquisition ou de stockage d'image) reliée à une carte graphique et fournissant des informations à traiter selon l'invention. FIG. 2 represents a device implementing the invention in the form of a microcomputer 10 connected to different peripherals, for example a digital camera 107 (or a scanner, or any means of image acquisition or storage ) connected to 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 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 110 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 le dispositif 10, sera stocké dans le disque dur 108. Selon une variante, le 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 113. 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 10 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 disk 110 like the disk 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 disk 108. According to a variant, the program allowing the device to implement the invention can 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 113.
Le dispositif 10 est relié à un microphone 111. Les données à traiter selon l'invention seront dans ce cas du signal audio. The device 10 is connected to a microphone 111. The data to be processed 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 autre moyen (souris par exemple). 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 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 RAM 103 qui contiendra alors le code exécutable de l'invention ainsi que des 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 RAM RAM 103 which will then contain the executable code of the invention as well as
<Desc/Clms Page number 9><Desc / Clms Page number 9>
registres pour mémoriser les variables nécessaires à la mise en oeuvre de l'invention. registers to store the variables necessary for the implementation of the 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 dispositif, éventuellement amovible, mémorise un programme mettant en oeuvre le procédé selon l'invention. More generally, an information storage means, readable by a computer or by a microprocessor, integrated or not in the device, possibly removable, stores a program implementing the method according to the invention.
Le bus de communication 101 permet la communication entre les 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 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. The communication bus 101 allows communication between the different 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 is capable of communicating instructions to any element of the microcomputer 10 directly or through another element of the microcomputer 10.
Comme représenté aux figures 3 et 4, le signal numérique est une image numérique qui est à coder selon un mode de codage dans lequel l'image est divisée en sous-signaux. Le codage proprement dit ne sera pas décrit ici. Par exemple, on utilise le mode de codage JPEG2000 (d'après l'anglais Joint Picture Expert Group), dans lequel l'image est divisée en tuiles adjacentes. As shown in FIGS. 3 and 4, the digital signal is a digital image which is to be coded according to a coding mode in which the image is divided into sub-signals. The actual coding will not be described here. For example, we use the JPEG2000 coding mode (from the English Joint Picture Expert Group), in which the image is divided into adjacent tiles.
L'image représentée comporte 512 sur 768 pixels et est divisée en six tuiles Ti à T6 adjacentes de 256 sur 256 pixels. The image represented comprises 512 by 768 pixels and is divided into six adjacent tiles Ti to T6 of 256 by 256 pixels.
Une tuile T, est codée indépendamment des autres, avec ses propres paramètres de codage. Dans le mode de réalisation choisi, chaque tuile Ti a quatre paramètres de codage ai, bj, ci, dj, qui sont par exemple un numéro de filtre sous-bande utilisé parmi un ensemble de filtres utilisables prédéterminés, le nombre de niveaux de résolution de la décomposition en sous bandes de fréquence, le nombre de bits utilisés pour représenter les données codées de la tuile et un numéro de post-traitement utilisé parmi un ensemble de post-traitements utilisables prédéterminés. A tile T, is coded independently of the others, with its own coding parameters. In the embodiment chosen, each tile Ti has four coding parameters ai, bj, ci, dj, which are for example a sub-band filter number used from a set of predetermined usable filters, the number of resolution levels of the decomposition into sub-frequency bands, the number of bits used to represent the coded data of the tile and a post-processing number used from a set of predetermined usable post-treatments.
La figure 5 représente un mode de réalisation de codage incluant le procédé de détermination des paramètres de codage d'un signal numérique, FIG. 5 represents an embodiment of coding including the method for determining the parameters for coding a digital signal,
<Desc/Clms Page number 10><Desc / Clms Page number 10>
selon l'invention. Ce procédé est mis en oeuvre dans le dispositif de codage et comporte des étapes E1 à E11. according to the invention. This method is implemented in the coding device and includes steps E1 to E11.
Le procédé est réalisé sous la forme d'un algorithme qui peut être 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 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 with frozen memory).
Le procédé selon l'invention met en oeuvre un calcul évolutionnaire comportant des étapes de génération, évaluation, sélection, reproduction et remplacement. The method according to the invention implements an evolutionary calculation comprising steps of generation, evaluation, selection, reproduction and replacement.
On considère les paramètres de codage d'une image ordonnés par
tuile, de la manière suivante : (a1, bi, ci, di, a2, b2, C2, d2,..., a6, b6, C6, d6) comme représenté à la figure 6. Les paramètres a1, b1, C1 et d1 sont relatifs à la tuile T1, et ainsi de suite. We consider the coding parameters of an image ordered by
tile, as follows: (a1, bi, ci, di, a2, b2, C2, d2, ..., a6, b6, C6, d6) as shown in Figure 6. The parameters a1, b1, C1 and d1 relate to tile T1, and so on.
Un tel vecteur de paramètres ordonnés est un individu, aussi appelé solution. On considère une population de solutions, comportant N individus, où N est un entier par exemple égal à 100. One such vector of ordered parameters is an individual, also called a solution. We consider a population of solutions, comprising N individuals, where N is an integer for example equal to 100.
L'étape E1 est une initialisation des valeurs des paramètres des N individus. Par exemple, les valeurs des paramètres sont choisies au hasard. En variante, les valeurs des paramètres sont égales aux valeurs par défaut indiquées par la norme JPEG2000. Dans ce dernier cas, tous les individus sont identiques. Step E1 is an initialization of the values of the parameters of the N individuals. For example, the parameter values are chosen at random. As a variant, the values of the parameters are equal to the default values indicated by the JPEG2000 standard. In the latter case, all individuals are identical.
L'étape suivante E2 est une évaluation des N individus, à l'aide d'une méthode d'évaluation. The next step E2 is an evaluation of the N individuals, using an evaluation method.
La méthode d'évaluation est choisie en fonction du résultat recherché. Par exemple, pour optimiser le compromis débit/distorsion, le critère d'évaluation peut être le coût de codage R+ ; . D, où R représente le débit de l'image codée, D représente la distorsion par rapport à l'image originale et  est un paramètre fixé par l'utilisateur. The evaluation method is chosen according to the desired result. For example, to optimize the bit rate / distortion compromise, the evaluation criterion may be the cost of R + coding; . D, where R represents the bit rate of the coded image, D represents the distortion compared to the original image and  is a parameter set by the user.
<Desc/Clms Page number 11> <Desc / Clms Page number 11>
En variante, le critère d'évaluation est la taille mémoire utilisée lors du décodage. Selon une autre variante, une combinaison, linéaire ou non, de plusieurs éléments est utilisée pour évaluer un individu. Il est ainsi possible par exemple de déterminer les paramètres qui offrent un compromis souhaité entre efficacité de compression et temps de calcul. As a variant, the evaluation criterion is the memory size used during decoding. According to another variant, a combination, linear or not, of several elements is used to assess an individual. It is thus possible for example to determine the parameters which offer a desired compromise between compression efficiency and calculation time.
L'étape suivante E3 est une sélection des M meilleurs individus dans la population considérée, au sens du critère d'évaluation, où M est un entier compris entre 1 et le nombre d'individus. Dans notre exemple, M est égal à 50. The next step E3 is a selection of the M best individuals in the population considered, within the meaning of the evaluation criterion, where M is an integer between 1 and the number of individuals. In our example, M is equal to 50.
Si le critère d'évaluation est le coût de codage R+I. D, alors les 50 individus ayant le coût de codage le plus faible sont ici sélectionnés. If the evaluation criterion is the R + I coding cost. D, then the 50 individuals with the lowest coding cost are selected here.
L'étape suivante E4 est la sélection de deux individus parmi les individus précédemment sélectionnés. Ces deux individus sont sélectionnés aléatoirement, ou en variante dans l'ordre fixé par l'opérateur d'évaluation : le premier avec le deuxième lors du premier passage par l'étape E4, le deuxième avec le troisième lors du second passage par cette étape, et ainsi de suite jusqu'au cinquantième avec le premier lors du cinquantième passage par cette étape. Comme on le verra dans la suite, le nombre d'itérations des étapes E4 à E6 est limité, à cinquante dans ce mode de réalisation. The next step E4 is the selection of two individuals from the previously selected individuals. These two individuals are selected randomly, or alternatively in the order fixed by the evaluation operator: the first with the second during the first passage through step E4, the second with the third during the second passage through this step , and so on until the fiftieth with the first during the fiftieth passage through this step. As will be seen below, the number of iterations of steps E4 to E6 is limited, to fifty in this embodiment.
L'étape suivante E5 est une recombinaison multipoint. Pour cela, des points de rencontre sont déterminés aléatoirement dans les deux individus sélectionnés à l'étape précédente. Plus précisément, un point de rencontre est déterminé aléatoirement dans chaque série de paramètres correspondant à une tuile, comme représenté à la figure 7. Il y a donc autant de points de rencontre que de tuiles. The next step E5 is a multipoint recombination. For this, meeting points are determined randomly in the two individuals selected in the previous step. More precisely, a meeting point is determined randomly in each series of parameters corresponding to a tile, as shown in FIG. 7. There are therefore as many meeting points as there are tiles.
Un nouvel individu est produit à partir des deux individus sélectionnés, de la manière suivante :
Dans ce nouvel individu, encore dit enfant , pour une série donnée de paramètres correspondant à une tuile, les paramètres situés avant le point de rencontre sont ceux du premier individu sélectionné et les paramètres situés après le point de rencontre sont ceux du second individu sélectionné. Chaque tuile est considérée indépendamment des autres pour la A new individual is produced from the two selected individuals, as follows:
In this new individual, also called a child, for a given series of parameters corresponding to a tile, the parameters located before the meeting point are those of the first selected individual and the parameters located after the meeting point are those of the second selected individual. Each tile is considered independently of the others for the
<Desc/Clms Page number 12><Desc / Clms Page number 12>
recombinaison. En d'autres termes, la frontière entre deux séries correspondant à deux tuiles peut être considérée comme un point de rencontre. recombination. In other words, the border between two series corresponding to two tiles can be considered as a meeting point.
L'étape suivante E6 est une mutation de l'individu enfant généré à l'étape précédente. The next step E6 is a mutation of the individual child generated in the previous step.
Par exemple, un paramètre de l'individu enfant est choisi aléatoirement puis est modifié aléatoirement. A la figure 8, le paramètre a3 est choisi et une valeur aléatoire lui est ajoutée. Le paramètre a3 est remplacé par te paramètre as = as + v. For example, a parameter of the individual child is chosen randomly and then is modified randomly. In FIG. 8, the parameter a3 is chosen and a random value is added to it. The parameter a3 is replaced by the parameter as = as + v.
La valeur aléatoire v peut être déterminée de manière à diminuer au fur et à mesure des itérations. The random value v can be determined so as to decrease as iterations progress.
L'étape suivante E7 est un test pour déterminer si 50 individus ont été produits par les itérations des étapes E4 à E6. Tant que la réponse est négative, alors cette étape est suivie de l'étape E4 précédemment décrite. The next step E7 is a test to determine whether 50 individuals have been produced by the iterations of steps E4 to E6. As long as the answer is negative, then this step is followed by step E4 previously described.
Lorsque la réponse est positive à l'étape E7, alors cette étape est suivie de l'étape E8 à laquelle les 50 individus nouvellement produits sont insérés dans la population de manière à remplacer les 50 individus non sélectionnés à l'étape E3. When the answer is positive in step E7, then this step is followed by step E8 in which the 50 newly produced individuals are inserted into the population so as to replace the 50 individuals not selected in step E3.
L'étape suivante E9 est un test pour déterminer si un critère d'arrêt est satisfait. The next step E9 is a test to determine whether a stop criterion is satisfied.
Le critère d'arrêt peut être le nombre d'itérations des étapes E2 à E9. Dans ce cas, le nombre d'itérations est par exemple fixé à 60. En variante, le critère d'arrêt peut être un objectif à atteindre pour l'évaluation du meilleur individu. Par exemple, le coût de codage du meilleur individu doit être inférieur à un seuil prédéterminé. The stopping criterion can be the number of iterations of steps E2 to E9. In this case, the number of iterations is for example fixed at 60. As a variant, the stopping criterion can be an objective to be reached for the evaluation of the best individual. For example, the cost of coding the best individual must be less than a predetermined threshold.
Tant que le critère d'arrêt n'est pas satisfait, alors l'étape E9 est suivie de l'étape E2 précédemment décrite. As long as the stop criterion is not satisfied, then step E9 is followed by step E2 previously described.
Lorsque le critère d'arrêt est satisfait, alors l'étape E9 est suivie de l'étape E10 à laquelle le meilleur individu évalué au cours de toutes les itérations est identifié. When the stop criterion is satisfied, then step E9 is followed by step E10 in which the best individual evaluated during all the iterations is identified.
Le meilleur individu comporte les paramètres de codage de l'image qui seront ensuite utilisés. The best individual has the image coding parameters that will then be used.
<Desc/Clms Page number 13> <Desc / Clms Page number 13>
L'étape suivante E11 est le codage de l'image avec les paramètres précédemment définis. Selon l'invention, au moins une partie des paramètres de codage sont déterminés comme exposé plus haut. The next step E11 is the coding of the image with the parameters previously defined. According to the invention, at least part of the coding parameters are determined as described above.
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, toute variante à la portée de l'homme du métier. Of course, the present invention is not limited to the embodiments described and shown, but encompasses, quite the contrary, any variant within the reach of ordinary skill in the art.
Claims (21)
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
FR0109471A FR2827408A1 (en) | 2001-07-16 | 2001-07-16 | Genetic algorithm digital signal coding scheme |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
FR0109471A FR2827408A1 (en) | 2001-07-16 | 2001-07-16 | Genetic algorithm digital signal coding scheme |
Publications (1)
Publication Number | Publication Date |
---|---|
FR2827408A1 true FR2827408A1 (en) | 2003-01-17 |
Family
ID=8865561
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
FR0109471A Pending FR2827408A1 (en) | 2001-07-16 | 2001-07-16 | Genetic algorithm digital signal coding scheme |
Country Status (1)
Country | Link |
---|---|
FR (1) | FR2827408A1 (en) |
Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5255345A (en) * | 1988-02-17 | 1993-10-19 | The Rowland Institute For Science, Inc. | Genetic algorithm |
-
2001
- 2001-07-16 FR FR0109471A patent/FR2827408A1/en active Pending
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5255345A (en) * | 1988-02-17 | 1993-10-19 | The Rowland Institute For Science, Inc. | Genetic algorithm |
Non-Patent Citations (3)
Title |
---|
BULL D R ET AL: "OPTIMIZATION OF IMAGE CODING ALGORITHMS AND ARCHITECTURES USING GENETIC ALGORITHMS", IEEE TRANSACTIONS ON INDUSTRIAL ELECTRONICS, IEEE INC. NEW YORK, US, vol. 43, no. 5, 1 October 1996 (1996-10-01), pages 549 - 558, XP000643553, ISSN: 0278-0046 * |
DAKTARIUNAS A ET AL: "Encoding of images using a genetic algorithm", OPTIKO-MEKHANICHESKAYA PROMYSHLENNOST, SEPT. 1999, OPT. SOC. AMERICA, RUSSIA, vol. 66, no. 9, pages 92 - 97, XP001051690, ISSN: 0030-4042 * |
YIMIN C ET AL: "DIGITAL IMAGE COMPRESSION USING A GENETIC ALGORITHM", REAL-TIME IMAGING, ACADEMIC PRESS LIMITED, GB, vol. 5, no. 6, December 1999 (1999-12-01), pages 379 - 383, XP000912703, ISSN: 1077-2014 * |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
EP0866426A1 (en) | Dynamic selection of image compression algorithm | |
FR2835366A1 (en) | Method and device for the forming of a reduced compressed digital signal | |
FR2831728A1 (en) | Method and device for forming a derivative digital signal from a compressed digital signal, includes formation of a skeleton of the derivative signal for receiving the compressed data | |
FR2817440A1 (en) | INSERTION OF MESSAGES IN 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 | |
FR2842983A1 (en) | TRANSCODING OF DATA | |
FR2816154A1 (en) | INSERTION OF ADDITIONAL INFORMATION INTO DIGITAL DATA | |
FR2849982A1 (en) | Coded digital image decoding method, involves decoding image to preset resolution based on determined preset resolution quantity of data, and selecting decoded image based on relation between selected and preset resolutions | |
FR2963190A1 (en) | METHOD AND DEVICE FOR ENCODING AN IMAGE SEQUENCE | |
FR2825224A1 (en) | METHOD AND DEVICE FOR COMPRESSING AND / OR INDEXING DIGITAL IMAGES | |
FR2792432A1 (en) | Transformation method for digital signals for wavelet operations in image processing, | |
FR2796778A1 (en) | Method for block compression of fixed or moving digital image data, allowing real-time compression in videophone via computer networks | |
FR2816138A1 (en) | DECODING OF DIGITAL DATA | |
FR2827408A1 (en) | Genetic algorithm digital signal coding scheme | |
EP3529987A1 (en) | Method for coding and decoding image parameters, device for coding and decoding image parameters and computer programs corresponding thereto | |
FR2844935A1 (en) | Transcoding of digital data coded according to a first coding mode to digital data coded according to a second coding mode, in particular for digital image | |
FR3068556A1 (en) | METHOD OF DECODING AN IMAGE, ENCODING METHOD, DEVICES, TERMINAL EQUIPMENT AND COMPUTER PROGRAMS | |
FR2851358A1 (en) | File creating process for digital device e.g. printer, involves defining zone to be zoomed in digital image, and writing characteristics of location, size, and resolution of zone, and functions of navigation management in file | |
FR2929431A1 (en) | METHOD AND DEVICE FOR CLASSIFYING SAMPLES REPRESENTATIVE OF AN IMAGE DIGITAL SIGNAL | |
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 | |
FR2805117A1 (en) | Image compression digital word coding having sub assembly coding parameters selected and coded/decoded words evaluation made whilst value less than coding parameters and displaying characteristics. | |
FR2805941A1 (en) | JPEG fixed image compression bit ordering method for a state word representing the state of a coefficient at the moment of entropy coding with several passes of the coefficient | |
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 | |
EP4078959A1 (en) | Method for encoding a digital image in order to compress same | |
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 |