Brevet FR2716321A1 — publié le 19950818

La présente invention concerne un procédé de quantification vectorielle d'un signal numérique, notamment pour une application dans le domaine de la compression des images numériques. De façon encore plus précise, la présente invention trouve une application avantageuse dans le domaine de la compression, en temps réel, d'images numériques mobiles. L'invention concerne également un dispositif pour la mise en oeuvre d'un tel procédé. La compression d'images est devenue un élément clé pour la transmission de signaux numériques. On connaît deux types principaux de techniques de compression d'images, techniques qui peuvent éventuellement s'associer: les premières techniques utilisent la corrélation spatiale (quantification scalaire, quantification vectorielle, transformées diverses telles que: Transformée Cosinus Discrète ou T.C.D., Ondelettes, etc..); et - les techniques d'estimation et/ou de compensations qui utilisent les redondances temporelles. Ces techniques offrent des taux de compression différents. Leur utilisation est déterminée par diverses considérations techniques et financières taux de compression à atteindre, complexité de mise en oeuvre, coût, etc.. La présente invention s'intéresse plus particulièrement aux techniques de compression d'images numériques mettant en ceuvre la quantification vectorielle. Il a été démontré, en effet, que la quantification vectorielle était plus performante que la quantification scalaire. La technique de Quantification Vectorielle repose sur la théorie de l'information de SHANNON concernant le débit et la distorsion. D'après cette théorie fondamentale, la compression est plus élevée en travaillant sur des vecteurs que sur des scalaires, et son efficacité est proportionnelle à la dimension de ces vecteurs. De plus, il apparaît que l'encodage de source est optimisé lorsqu'on travaille sur des blocs de taille déterminée xxy. La Quantification Vectorielle est un procédé de codage. De façon succincte, il consiste à décrire un signal à coder en un nombre déterminé de 2 2716321 vecteurs. De faç,on remarquable, certaines formes de vecteurs apparaissent très souvent, d'autres formes sont plus rares, voire inexistantes. A partir de cette constatation, on constitue un dictionnaire contenant les vecteurs les plus fréquents et on y recherche le vecteur le plus proche du vecteur à coder. Ce dictionnaire étant commun à un organe émetteur et à un organe récepteur, il suffit alors de transmettre l'indice ou adresse du vecteur du dictionnaire. Les performances de ce procédé de codage dépendent de la formation des vecteurs, de la pertinence du dictionnaire choisi (longueur et méthode de génération) et de la mesure choisie pour comparer deux vecteurs. De façon avantageuse, dans le cadre de l'invention, on utilisera préférentiellement des vecteurs de 2 à 16 octets signés, issus de la transformation en Cosinus Discret T.C.D. de blocs d'images de 8x8 bits. On compare ensuite chaque vecteur à ceux d'un dictionnaire comprenant 16, 64 ou 256 vecteurs (ou plus). La génération du dictionnaire proprement dite est basée sur des propriétés statistiques de l'image. Diverses méthodes sont connues. On peut, par exemple utiliser l'algorithme dit "LBG" (Linde-Buzo-Gray). Pour comparer les vecteurs à coder et les vecteurs du dictionnaire, on utilise la notion de distance. Pour ce faire, différents algorithmes sont connus et sont rappelés ci-après. On peut calculer, notamment: k-1 - la Distance Euclidienne, soit 1 (Xi - W9)2 avec X = vecteur d'entrée, i=0 W = vecteur du dictionnaire (indépendant du type de distance choisie) et k dimension commune aux vecteurs; k-1 -la Distance Absolue, soit j |X - W; i=0 k- XI_ i - la Distance Pondérée, soit 1 l; ou i=0 2' - la Distance Supérieure, soit max (IXi - wil), ou Distance de Minkowski. i=O,k-1 L'expérience montre que le type de distance choisi influe peu sur le résultat, aussi dans le cadre de l'invention on utilisera de façon préférentielle, pour des raisons de simplicité, la distance absolue. Dans ce qui suit, pour fixer les idées, on admettra, sans que cela soit limitatif en quoi que ce soit de la portée de l'invention, que la chaîne complète de compression d'une image numérique comprend les trois phases suivantes: 3 2716321 - Phl: découpage d'une image en noir et blanc de 256x256x8 bits en blocs carrés de 8x8 bits et transformation en Transformée Cosinus Discrète T.C. D. de ces blocs; - Ph2: quantification vectorielle en vecteurs de dimensions 3 ou 5, codés à l'aide d'un dictionnaire DICO de 16, 64 ou 256 vecteurs; et - Ph3: encodage de HUFFMANN des informations binaires ainsi obtenues. La figure 1 annexée à la présente description illustre de façcon schématique la chaîne complète de compression et les différentes étapes du procédé qui vient d'être rappelé. La longueur des vecteurs, le choix et la taille du dictionnaire déterminent le taux final de compression de l'image et par là même les dégradations apportées à celle-ci. A la décompression, les opérations inverses sont effectuées. La décompression est une opération plus aisée à réaliser et autorise un algorithme simplifié rapide. Le procédé de codage rappelé a été divulgué, par exemple, dans la Thèse de l'Université de Metz de Jamal BAINA intitulée "Codage Hybride Adaptatif d'Images en Vue de la Transmission Bas Débit: logiciel et matériel", janvier 92. En ce qui concerne plus particulièrement la quantification vectorielle proprement dite, divers procédés et quantificateurs mettant en oeuvre ces procédés sont connus. Quelques types de quantificateurs vectoriels vont être brièvement évoqués ci-après. Un premier type de quantificateur selon l'art connu a été développé par la "Brigham Young University" et fabriqué par la société DARPA MOSIS sous la forme d'un circuit intégré à grande échelle ("VLSI"). L'algorithme utilisé est du type "MRRVQ" ("Mean Residual Reflected Vector Quantizer", c'est-à-dire basé sur la différence des moindres carrés d'un vecteur réfléchi). Cette réalisation est décrite dans l'article de Brent E. NELSON et Christopher J. READ "A Bit Serial VLSI Vector Quantizer", paru dans IEEE d'avril 1986. Bien qu'intéressant pour certaines applications, ce type de structure est beaucoup trop lent lorsqu'il s'agit d'effectuer un traitement en temps réel, tel que la compression d'images numériques. En outre, dans ce cas, les dimensions de la surface de silicium nécessaire sont aussi beaucoup trop importantes. 4 2716321 Un deuxième type de quantificateur vectoriel fait appel à une architecture dite "systolique", c'est-à-dire constituée de macro-éléments répétés un nombre déterminé de fois et qui sont reliés les uns aux autres. Un exemple de ce type d'architecture est décrit dans l'article de P. A. RAMAMOORTHY et al: "Bit-Serial VLSI Implementation of Vector Quantizer for Real-Time Image Coding", paru dans IEEE d'octobre 1989. L'algorithme utilisé dans le dispositif décrit fait appel au calcul de la Distance Euclidienne. Cette architecture présente plusieurs avantages: configuration et cellules répétitives, quantification en continue et logique de commande simple. Cependant, comme précédemment, elle est gourmande en surface de silicium et nécessite un grand nombre d'entrées/sorties. En outre, elle est difficilement exploitable dans l'état actuel de la technique, en raison de l'important niveau d'intégration et du nombre de connexions externes qui lui sont nécessaires. Enfin l'inconvénient majeur provient de l'interconnexion des macro cellules qui fait croître le nombre de coup d'horloge proportionnellement aux nombre de vecteurs traités. Un troisième type de quantificateur vectoriel a été développé pour des applications de la logique floue. Des quantificateurs vectoriels de ce type sont réalisés sous forme de composants (circuits intégrés) en technologie CMOS et sont disponibles dans le commerce sous la marque MICRO DEVICES. De façon plus précise, il existe deux configurations, diffusées sous les références MD 12210 Fuzzy Set Comparator et MD 1212 Fuzzy Data Correlator. Le premier composant met notamment en oeuvre un réseau neuronal et calcule la distance de HAMMING entre deux vecteurs, en mode bit à bit, ou calcule la distance absolue, dés que les composantes des vecteurs ont une taille supérieure à un bit. De nouveau, ce composant n'est pas destiné à l'application compression d'image en temps réel. Même s'il était possible d'augmenter significativement sa fréquence de fonctionnement, le temps de traitement étant directement proportionnel au nombre et à la dimension des vecteurs, on atteindrait rapidement le maximum de ses possibilités. L'architecture de ce composant n'est donc pas adaptée aux types d'applications préférentielles visées par l'invention. Le second composant est un corrélateur qui calcule la distance de HAMMING entre un vecteur de longueur maximale de 128 bits et une trame de même profondeur mémorisée dans le composant au départ de chaque corrélation. Ce composant est destiné à la comparaison de divers type de signaux numériques: domaines du Radar et du Sonar, de la synchronisation, reconnaissance et comparaison d'images. Cependant son utilisation pour le codage d'image n'est pas possible car la distance de HAMMING n'est pas adaptée pour la compression d'images numeériques. L'invention se propose de pallier les inconvénients des dispositifs de l'art connu, dont certains viennent d'être rappelés. Elle se fixe pour but principal un procédé autorisant la compression en temps réel d'images numériques, ainsi qu'un dispositif quantificateur vectoriel mettant en oeuvre le procédé . Pour ce faire, l'invention propose une architecture bit série. Celle-ci est composée d'un ensemble de macro éléments, qui associés les uns aux autres, permettent de calculer la différence entre deux vecteurs. Le premier vecteur est dit vecteur d'entrée et le second est contenu dans un dictionnaire. De façon préférentielle, l'algorithme utilisé fait appel au calcul de la distance absolue ] Xk - Wk pour k = 1 à kmna avec k dimension du vecteur. L'invention a donc pour objet un procédé de quantification vectorielle d'un signal numérique comprenant les étapes de conversion de ce signal en un vecteur à quantifier, au format série signé, de comparaison de ce vecteur à quantifier avec des vecteurs d'un dictionnaire de même dimension que le vecteur à quantifier, de détermination des distances binaires entre le vecteur à quantifier et les vecteurs du dictionnaire, de sélection de la distance minimale et de calcul de l'adresse du vecteur du dictionnaire correspondant à ce vecteur, caractérisé en ce que, - l'étape de comparaison consiste à comparer, bits à bits, le vecteur à quantifier simultanément avec un nombre déterminé de vecteurs du dictionnaire; l'étape de détermination des distances consiste à générer simultanément des mots binaires représentant les distances entre le vecteur à quantifier et les vecteurs du dictionnaire; et - l'étape de sélection de la distance minimale consiste à générer un signal de drapeau associé à chaque mot binaire et positionné à un premier état logique, à effectuer une séquence de comparaisons simultanées des bits desdits mots, en commençant par les bits de plus fort poids, à émettre pour chaque bit nul de chaque mot binaire un signal détectant cet état, à émettre un signal supplémentaire représentant le "OU" logique de tous ces signaux, à un premier état logique lorsqu'au moins un des bits des mots binaires est nul, à comparer les bits de 6 2716321 chaque mot binaire à ce signal supplémentaire, à commuter lesdits signaux de drapeau des mots binaires, du premier état logique à l'état logique complémentaire, si le bit en cours de comparaison a la valeur "un" et si le signal supplémentaire est au premier état logique, et à éliminer les mots binaires associés à ces signaux de drapeau des comparaisons subséquentes, et à déterminer à partir des signaux de drapeau restés audit premier état l'adresse du vecteur du dictionnaire le plus proche du vecteur à quantifier. L'invention a encore pour objet un dispositif quantificateur vectoriel pour la mise en oeuvre de ce procédé. La structure du dispositif offre de nombreux avantages et parmi ceux-ci les avantages suivants: - Le nombre de pads d'entrées/sorties est limité à une taille minimale; - Les cellules sont toutes identiques et donc facilement reproductibles; - Le résultat de la comparaison donne directement la distance minimale; - Son architecture permet d'associer plusieurs quantificateurs vectoriels sans pour autant augmenter le temps de traitement; - La taille du dictionnaire peut être variable avec le même quantificateur vectoriel. Il suffit d'effectuer une lecture par vague des vecteurs à quantifier. La contrepartie est que le temps de traitement est multiplié par le nombre de vagues. - La logique de commande et de gestion nécessaire est très simple; et - La dimension des vecteurs est aisément adaptable aux besoins. L'invention sera mieux comprise et d'autres caractéristiques et avantages apparaîtront à la lecture de la description qui suit en référence aux figures annexées, et parmi lesquelles: - La figure 1 illustre schématiquement une chaîne complète de compression d'images numériques intégrant une étape de quantification vectorielle; - La figure 2 illustre schématiquement les étapes de la quantification vectorielle; - La figure 3 illustre le codage de l'adresse d'un vecteur, selon un mode de réalisation préférée de l'invention; - La figure 4 illustre schématiquement le format des vecteurs d'entrée à coder et des vecteurs du dictionnaire; - La figure 5 illustre le déroulement des étapes de la recherche du vecteur du dictionnaire le plus proche du vecteur à coder; 7 2716321 - La figure 6 illustre schématiquement un exemple de quantificateur vectoriel selon un mode de réalisation préféré de l'invention; - La figure 7 est un chronogramme explicitant le processus de recherche de distance minimale; La figure 8 représente de façon schématique un exemple de réalisation d'un module quantificateur élémentaire; - la figure 9 illustre un exemple de soustracteur utilisé dans le module quantificateur élémentaire de la figure 8; - La figure 10 est un chronogramme illustrant le fonctionnement de ce soustracteur; - La figure 11 illustre un exemple de registre à décalage utilisé dans le module quantificateur élémentaire de la figure 8; - La figure 12 est un chronogramme illustrant le fonctionnement de ce registre; - La figure 13 illustre un exemple de circuit 3 calculateur de valeur absolue utilisé dans le module quantificateur élémentaire de la figure 8; - Le chronogramme de la figure 14 illustre trois exemples de calcul de valeur absolue effectués par le calculateur de la figure 13; La figure 15 illustre un exemple d'additionneur utilisé dans le module quantificateur élémentaire de la figure 8; - Le chronogramme de la figure 16 illustre cinq additions effectuées par l'additionneur de la figure 14; - La figure 17 illustre un registre à décalage bidirectionnel utilisé dans le module quantificateur élémentaire de la figure 8; - La figure 18 est un chronogramme illustrant la marche des signaux dans le registre à décalage bidirectionnel de la figure 17; - La figure 19 illustre un exemple de comparateur élémentaire utilisé dans le module quantificateur élémentaire de la figure 8; - La figure 20 représente schématiquement l'ensemble des comparateurs du quantificateur vectoriel de la figure 6; - Les figures 21 et 22 illustrent deux exemples de comparaisons de distances effectuées par les comparateurs de la figure 20; - La figure 23 illustre un exemple de mémoire utilisée pour le stockage de la plus courte distance trouvée dans les vagues précédentes; 8 2716321 - Les figures 24 et 25 sont deux chronogrammes explicitant la mémorisation et la sortie de ces distances dans et hors de la mémoire de la figure 23; - La figure 26 illustre les circuits complets de comparaison d'un quantificateur vectoriel, incluant le circuit de comparaison des circuits de mémoire de la plus courte distance trouvée pendant les vagues précédentes; - La figure 27 illustre un exemple de réalisation du calculateur d'adresse de la figure 6; - La figure 28 et 29 sont deux chronogrammes illustrant l'encodage d'adresse lors d'une première et d'une seconde vague de vecteurs, à l'aide du calculateur d'adresse de la figure 27; - Les figures 30 à 32 illustrent la mise en parallèle de plusieurs quantificateurs selon trois modes de réalisation; - La figure 33 illustre schématiquement un exemple d'une architecture d'un système de compression d'image incluant un quantificateur vectoriel selon l'invention. Pour fixer les idées, sans que cela soit limitatif de la portée de l'invention, on se placera dans le cadre défini ci-après. La quantification vectorielle sera mise en ouvre pour un procédé de compression d'images numériques comprenant les phases Phl à Ph3 précédemment décrites et illustrées par la figure 1: découpage d'une image en noir et blanc de 256x256x8 bits en blocs carrés de 8x 8x8 bits (ou 8x8 pixels) et transformation en Transformée Cosinus Discrète T.C.D. de ces blocs, quantification vectorielle en vecteurs de dimensions 3 ou 5, codés à l'aide d'un dictionnaire DICO de 16, 64 ou 256 vecteurs, et encodage de HUFFM.ANN des informations binaires ainsi obtenues. Le principe de la compression vectorielle, commun à l'art connu, est illustré plus particulièrement par la figure 2. Les vecteurs à coder Xi, ou vecteurs d'entrée, sont présentés au quantificateur vectoriel QV qui les compare à une suite de vecteurs Wi contenus dans un dictionnaire DICO. L'élaboration de ce dictionnaire DICO s'effectue selon des méthodes également communes à l'art connu, par exemple en mettant en oeuvre l'algorithme de Linde-Buzo-Gray déjà évoqué. Le nombre de ces vecteurs Wi est naturellement moins important que le nombre possible de vecteur Xi pour qu'il puisse y avoir compression. La dimension k des vecteurs Wi est la même que celle des vecteurs Xi. Typiquement le dictionnaire DICO comprend 16, 64 ou 256 vecteurs. 9 2716321 Dans le cadre du procédé de l'invention, pour comparer les vecteurs, on utilisera de façcon préférentielle la distance absolue: dM= X, - Wg pour k = 1 à kmax. De façon plus précise, selon un mode de réalisation préférée de l'invention, le quantificateur QV réalise la fonction suivante: comparaison d'un vecteur Xi de 3 ou 5 octets signés, à une ou plusieurs vagues de 16 vecteurs Wi simultanés. Sur sa sortie, le quantificateur QV génère un indice ou adresse ADWi du vecteur Wi du dictionnaire le plus proche, au sens de la distance dM, du vecteur d'entrée Xi à quantifier. Dans un exemple particulier, illustré par la figure 3, cette adresse ADWi est codée sur 8 bits, les quatre bits de poids les plus forts représentant le numéro de vague Nova et les quatre bits de poids les plus faibles le numéro de vecteur Nowi du dictionnaire DICO. Lorsqu'il y a égalité entre les distances du vecteur d'entrée Xi aux vecteurs Wi du dictionnaire DICO, il n'y a pas de moyen a priori pour décider qu'un de ces vecteurs est le plus pertinent. En sortie du quantificateur QV, un seul des vecteurs Wi est désigné. Un moyen simple est d'accorder la priorité au premier vecteur dans une vague et à la première vague dans le dictionnaire DICO, s'il y a plusieurs vagues. En outre, il est possible d'ordonner le dictionnaire DICO pour favoriser des vecteurs particuliers. Selon une des caractéristiques importantes de l'invention, les vecteurs à quantifier, c'est-à-dire à coder, Xi sont présentés en entrée du quantificateur QV sous forme série, coordonnée par coordonnée, en partant du bit de poids le plus faible ou "LSB" selon la terminologie anglosaxonne ( de "Low Significant Bit"), en passant par le bit de poids le plus élevé ou "MSB" (de "Most Significant Bit") et en finissant par le bit de signe. Cette disposition permet le calcul direct de distance, comme il le sera explicité ultérieurement. Ce vecteur à coder Xi est présenté au quantificateur vectoriel en simultanéité avec une vague d'un nombre déterminé de vecteurs Wi du dictionnaire DICO, par exemple quatre vecteurs selon un exemple de réalisation qui sera détaillé ci-après. Selon un mode préféré de réalisation de l'invention, plusieurs vagues successives de vecteurs Wi sont présentées au quantificateur QV. Dans ce cas, pour les vagues suivantes, il faut répéter le même vecteur d'entré pour le comparer aux vecteurs Wi des vagues successives. Après épuisement de tous les vecteurs Wi du dictionnaire DICO, le quantificateur QV génère sur sa sortie un mot binaire ADwi représentant l'adresse du vecteur le plus proche du vecteur à coder Xi. La figure 4 illustre schématiquement le format des vecteurs Xi et Wi. Les vecteurs, dans l'exemple particulier illustré par la figure 4, peuvent avoir les 2716321 dimensions 3 (traits pleins sur la figure) ou 5 (traits pleins et hachurés). Le sigle S sur la figure identifie le bit de signe. Les données d'entrée du quantificateur QV sont les vecteurs Xi, les données de sortie sont les adresses ADWi. Pendant le processus de quantification d'une série de vecteurs Xi, par exemple ceux représentant une image source, le dictionnaire DICO reste le même. Physiquement, de façon habituelle, les vecteurs Wi du dictionnaire DICO sont enregistrés dans une mémoire externe. La figure 5 illustre, sur un cas particulier, le déroulement des étapes de la recherche du vecteur Wi du dictionnaire DICO le plus proche du vecteur à coder Xi, selon le procédé selon l'invention. La figure 6, pour sa part, illustre schématiquement un exemple d'architecture de dispositif quantificateur vectoriel selon un mode de réalisation préféré de l'invention. Selon une caractéristique importante, le quantificateur vectoriel QV est du type modulaire, chaque module élémentaire de quantification QV1 à QVn calcule, notamment, la distance absolue entre le vecteur d'entrée Xi et le vecteur du dictionnaire Wi dont il a la charge. Dans l'exemple précis illustré, sur la figure 6, on a considéré qu'il n'y a qu'une seule vague de quatre vecteurs W1, W2, W3 et W4, et que les distances binaires sont calculées sur 12 bits. Il y aura donc quatre modules QV1 à QV4. Si l'on se reporte de nouveau à la figure 5, à l'étape 1, on constate que le bit de poids le plus fort des quatre distances associées aux vecteurs W1, W2, W3 et W4 sont identiques. Le quantificateur vectoriel QV ne peut donc prendre de décision. A l'étape 2, on constate que le bit de poids 1024 est nul sauf pour la première distance. Le quantificateur vectoriel QV élimine le vecteur W1. Aux étapes 3 à 7, les 5 bits suivants sont tous identiques. Le quantificateur vectoriel QV ne peut pas prendre de décision. A l'étape 8, le bit de poids 32 est nul, sauf dans la deuxième distance. Le quantificateur vectoriel QV élimine le vecteur W3. Aux étapes 9 à 12, les 4 bits suivants sont tous identiques. Le quantificateur vectoriel QV ne peut prendre de décision. A l'étape 13, le bit de poids 2 est nul sauf dans la seconde distance. Le quantificateur vectoriel QV élimine le vecteur W1. A l'étape 14, on arrive au dernier bit, ce qui entraîne le choix du vecteur W2, c'est ce vecteur du dictionnaire DICO qui présente la plus petite distance binaire avec le vecteur d'entrée Xi. Il 2716321 Après cette étape de choix, l'adresse ADWi de ce vecteur Wi est calculée par un module de calcul d'adresse CA. C'est cette adresse ADWi qui est transmise, sous la forme d'un mot binaire, sur la sortie SQ du quantificateur vectoriel QV. Dans le cas général, et de façon préférentielle, on procède par vagues successives de vecteurs Wi, typiquement des vagues de 16 vecteurs. On compare les distances absolues obtenues par chaque module QV1 à QVn, sur x bits, x étant égal à 12 dans l'exemple illustré. On suppose, pour fixer les idées, que le dictionnaire DICO (figures 1 et 2) comporte 64 vecteurs Wi. Il y aura donc quatre vagues successives de vecteurs Wi. Si on se reporte maintenant à la figure 6, chacun des vecteurs Wiy de chaque vague y (avec y entier prenant les valeurs {1,2,3,4}), est transmis, via le bus d'entrée ew du quantificateur vectoriel QV à une des entrées appartenant à une première série d'entrées el 1 à en1 des modules QV1 à QVn. Le vecteur Xi à coder est transmis, pour sa part, à chacune des entrées d'une seconde série d'entrées e12 à en2 de ces mêmes modules QV1 à QVn. Chaque module comporte aussi deux sorties distinctes, SQ11 à SQnl et SQ12 à SQn2, respectivement. Les sorties de la première série sont connectées à un premier bus de sortie Bsbn et les sorties de la seconde série sont connectées à un second bus de sortie BF. Comme il le sera explicité ci-après plus en détail, en relation avec le chronogramme de la figure 7, chaque module lève un drapeau ou "flag" selon la terminologie anglo-saxonne couramment utilisée. Ce drapeau, après une opération logique prenant en compte la distance du module, est transmis sur le bus Bsnb. Le quantificateur vectoriel procède par élimination des modules élémentaires, selon le processus qui a été décrit en relation avec la figure 5. Un module particulier QVn qui a trouvé une distance plus petite que les autres modules va les éliminer. Ces modules vont abaisser leurs drapeaux. Le dernier drapeau qui reste levé désigne le module qui a trouvé le vecteur Wiy d'une vague déterminée y le plus proche, par exemple la vague No 1. Afin de traiter d'autres vagues de 16 vecteurs du dictionnaire DICO, on mémorise dans un registre le complément à "1" de la plus courte distance trouvée lors des vagues précédentes. Ce registre figure sous la référence MD sur la figure 6. Il reçoit sur une entrée Sel la sortie d'un circuit logique CL effectuant la fonction logique "OU" des signaux présents sur le bus Bsbn. Le signal sur la sortie de ce circuit est transmis à tous les modules QVn, sur une troisième entrée de ces modules. Comme il le sera décrit de façon plus détaillée ci-après, chacun des 12 2716321 modules élémentaires de quantification QV! à QVn comprend notamment un comparateur. Ce sont ces comparateurs qui reçoivent le signal présent sur la sortie Sel et génèrent les signaux sur les sorties SQ]] à SQnl et SQ12 a SQn2, respectivement. On associe également un comparateur CMD au registre MD. Celui- ci reçoit en entrée le signal présent sur la sortie SMD du registre MD et sur la sortie Sel, et génère des signaux de sortie sur deux sorties SM1 et SM2, reliées respectivement aux bus Bsbn et BF. Par ces dispositions, le processus d'élimination concerne également le registre MD. Il est traité exactement comme un module élémentaire de quantification. Il peut donc éliminer les 16 autres modules élémentaires s'il contient la distance binaire la plus courte. Il peut aussi se faire éliminer si un vecteur du dictionnaire DICO de la vague suivante est meilleur que les précédents. On y enregistre alors la nouvelle distance la plus courte. Les drapeaux restants et le nombre de vagues traitées permettent de trouver l'adresse dans le dictionnaire DICO du vecteur Wi le plus proche du vecteur d'entrée Xi. Cette opération est réalisée par le calculateur d'adresse CA. Celui-ci compte le nombre de vagues de vecteurs Wi, encode l'adresse du vecteur le plus proche dans une vague et enregistre l'adresse du meilleur vecteur de toutes les vagues. Le codage de l'adresse peut s'effectuer selon la configuration décrite en relation avec la figure 3.Le mot d'adresse ADWi comprend un numéro de vague Nova et un numéro de vecteur Nowi, chacun étant codé, dans l'exemple illustré, sur quatre bits. En cas d'égalité de distance entre le vecteur d'entrée Xi et des vecteurs du dictionnaire, une priorité peut être donnée, dans l'encodage, au premier vecteur dans une vague et à la première vague dans le dictionnaire DICO. La figure 7 est un chronogramme explicitant le processus de recherche de distance minimale qui vient d'être décrit. Sur la partie supérieure de la figure 7 sont représentés les signaux Zin représentant l'inverse logique des distances Dn calculées par les modules élémentaires de quantification QVn. Sur la partie intermédiaire de cette figure est représenté l'état des drapeaux Fin. Au début du cycle, tous les drapeaux sont levés. Conformément à ce qui a été décrit en relation avec la figure 5, lorsque le quantificateur QV peut prendre une décision, l'un des modules élémentaire de quantification est éliminé et son drapeau est "abaissé". dans l'exemple décrit, c'est le module No 2 qui est le premier éliminé. En fin de vague, seul reste en lice le module No 3, le drapeau Fi3 restant seul levé (signal Fi3 haut, c'est-à-dire dans 13 2716321 l'exemple décrit au "1" logique). le signal du bas représente l'inverse logique de la somme des distances minimales Zi = Distance min. Les signaux Fin sont transmis sur le bus BF et les signaux Zin sur le bus BSbn. Les parties hachurées des signaux de la figure 7 mettent en évidence les modules élémentaires de quantification QVn éliminés. Les flèches mettent en évidence la distance minimale trouvée, D = 180, en valeur décimale, dans l'exemple illustré, et le module correspondant No 3 (drapeau Fi3). Comme le vecteur Wi associé au module No 3 et son adresse sont connus, ainsi que le numéro de vague, le calculateur d'adresse CA peut générer le mot d'adresse ADWi approprié sur la sortie SQ. La figure 8 représente de façon schématique un exemple de réalisation possible d'un module quantificateur élémentaire QVn. Chacun de ces modules QVn recçoit sur une première entrée le vecteur d'entrée Xi à coder et l'un des vecteurs Win du dictionnaire DICO associé à ce module No n, par exemple l'un des 16 vecteurs de ce dictionnaire, s'il n'y a qu'une vague de vecteurs Wi, ou l'un des 16 vecteurs d'une des quatre vagues successives, dans l'exemple décrit. Chaque module comprend, disposés en cascade, un soustracteur 1, un registre à décalage 2, un calculateur de valeur absolue 3, un additionneur 4, un re- gistre à décalage bidirectionnel 5 et un comparateur 6 dont les deux sorties génèrent les signaux respectifs Zi et Fi déjà décrits, et aussi nommés SQil et SQj2, respecti- vement. La logique est du type séquentiel, synchronisée sur les temps de bit: les vecteurs d'entrée Xi et les vecteurs du dictionnaire sont présentés sous forme série. Aussi un signal d'horloge H est distribué à tous les circuits 1 à 6. Les modules QVn ont une structure du type "pipe-line", avec un flux continu de données. Dans l'exemple décrit, le registre à décalage 2 a une profondeur de 8 bits et le registre à décalage bidirectionnel 5 une profondeur de 12 bits. Naturellement, un grand nombre de liaisons spécialisées sont prévues entre les circuits. Pour des raisons de simplicité, on n'a représenté que l'essentiel nécessaire pour la bonne compréhension de l'invention. Comme il a été indiqué, chaque module élémentaire de quantification QVn prend en charge la comparaison entre le vecteur d'entrée Xi à coder et l'un des vecteurs Wi du dictionnaire DICO. Les circuits 1 à 6 effectuent successivement les opérations suivantes: différence, en 1, entre les coordonnées des vecteurs Xi et Wi; calcul de la valeur absolue, en 3, de ces différences et somme, en 4, de ces valeurs absolues. Le résultat est donc la distance entre le vecteur d'entrée Xi et le vecteur Win, associé au module du dictionnaire DICO. Ce résultat est stocké dans le registre 14 2716321 à décalage bidirectionnel 5. Le processus se termine par la comparaison des distances entre modules. A cette fin, tous les modules QVn reçoivent, via le bus Bsbn et le circuit CL (figure 6) le signal Z, transmis à l'une des entrées du comparateur 6. Z est au "1" logique, dans l'exemple décrit, si au moins l'un des comparateurs des autres modules a trouvé un bit nul au cours du processus de comparaison des distances. Si Z est à "1" et que le bit qui rentre dans le comparateur 6 n'est pas nul, alors la distance que traite ce comparateur est supérieure aux autres. On peut donc l'éliminer, selon l'enseignement du procédé de l'invention (figure 5). Le comparateur 6 sera décrit de façon plus détaillée ci-après. Les coordonnées sont codées, dans l'exemple décrit, sur 8 bits signés (-128 à +127), présentées en série à l'entrée du soustracteur 1 ("LSB" en premier et "MSB" et signe en dernier). Le registre à décalage 2 de 8 bits permet d'attendre le bit de signe et de calculer alors la valeur absolue du résultat, sur 8 bits non signés (0 à +255). L'additionneur 4 est rebouclé sur lui-même par le registre à décalage 5 de 12 bits. permettant de stocker la somme des valeurs absolues ("LSB" en premier. Les 12 bits (0 à +4095) permettent de travailler avec des vecteurs d'un maximum de 16 coordonnées. le résultat final est la distance entre les vecteurs sur 12 bits ("LSB" en premier). Cependant la comparaison des distances s'effectue du bit de plus fort poids ("MSB") au bit de plus faible poids ("LSB"). C'est la raison pour laquelle le registre 5 est bidirectionnel. Le comparateur 6 effectue les comparaisons des distances entre les 16 modules quantificateurs élémentaires QVn suivant les étapes décrites en relation avec la figure 5. Les deux sorties du comparateur 6 génèrent, d'une part, le signal de drapeau Fin et, d'autre part, le signal Zi. Ce dernier représente un signal de détection de bit à zéro. Le signal de drapeau Fin sert à désigner le module quantificateur élémentaire QVn ayant trouvé la distance minimale, comme le chronogramme de la figure 6 l'a illustré. Le signal Z indique que d'autres modules élémentaires ont un bit nul dans leur distance, ce qui déclenchera l'élimination éventuelle du module QVn et l'abaissement du drapeau Fin. La comparaison concerne également le registre MD contenant la distance la plus petite des vagues précédentes, quand plusieurs vagues successives sont traitées, selon le mode de réalisation préféré de l'invention. A cette fin, comme il a été indiqué, ce registre MD comprend des circuits munis d'un comparateur, de 2716321 façon tout à fait similaire aux modules quantificateurs élémentaires QVn. Il génère donc aussi un signal de drapeau (sortie SM2) et un signal Z1 (sortie SM]). Le flux continu des données à travers les modules QVn oblige à respecter le rythme de l'opération la plus lente, dans le cas présent celui de l'addition sur 12 bits qui nécessite douze périodes d'horloge. Il s'ensuit que, dans l'exemple décrit, les coordonnées des vecteurs étant composées de 8 bits, celles-ci devront être séparées par 4 bits non significatifs. La comparaison finale exige également un intervalle de temps déterminé. On ne dispose de l'adresse du vecteur le plus proche que 30 périodes d'horloge après le dernier bit de la dernière coordonnée des vecteurs de la dernière vague. Les différents circuits constituant chaque quantificateur élémentaire QVn et les circuits du registre MD ainsi que ses éléments associés CMD, peuvent être réalisés par toute technologie appropriée, à la portée de l'Homme de Métier. On utilisera de façon avantageuse des circuits intégrés ou des associations de circuits intégrés disponibles dans le commerce ou, au contraire, des circuits réalisés à la demande, du type "ASIC" par exemple. Aussi on ne va décrire de façon détaillée les différents composants du quantificateur vectoriel QV que dans la mesure o cette description est nécessaire à une compréhension plus complète de l'invention. On s'attachera surtout à décrire les signaux nécessaires au bon fonctionnement des circuits du quantificateur vectoriel QV et permettant le bon déroulement du procédé de l'invention. Le soustracteur 1 est représenté schématiquement sur la figure 9. Il est de type tout à fait classique. Les signaux nécessaires au bon fonctionnement de celui-ci sont les suivants: - le signal RST est un signal asynchrone de remise à zéro des retenues CAR; - le signal EN1 est un signal de validation de la mémorisation de la retenue CAR. Il doit être au "1" logique au moins pendant 1 bit et les 8 bits de coordonnées (en pratique, ce signal peut être laissé à " 1 "); - Le signal SET1 sert à positionner la retenue CAR à "1" avant le premier bit. Il doit être mis à "'1" pendant la période d'horloge qui précède l'arrivée du premier bit de chaque coordonnée; - Les signaux Xi et Wi,, sont les données d'entrée représentant le vecteur d'entrée et le vecteur du dictionnaire DICO, dont les bits sont présentés au format série en partant du bit de plus faible poids ("LSB"); 16 2716321 - Le signal EN2 valide la retenue. Il doit être mis à " 1" pour le dernier bit de chaque coordonnée; - Le signal CAR représente la retenue. C'est le signe du résultat. CAR est disponible à la fm de la soustraction pour calculer la valeur absolue. CAR doit être positionné à "1" avant de démarrer le calcul; et - Le signal SOUS est le résultat de la soustraction [Xi - Win] sur 8 bits format série, le bit de plus faible poids en premier. Il n'y a pas de délais (en dehors du temps de propagation propre aux circuits constituant le soustracteur 1) entre l'entrée des données et la sortie du résultat. Naturellement, le soustracteur reçoit le signal d'horloge H, cadencé sur le temps de bit. Les circuits d'élaboration de ces signaux de commande et leur agencement ne posent aucun problème particulier et sont du domaine de la compétence de l'Homme du Métier et il est inutile de les décrire plus avant. La figure 10 est un chronogramme illustrant le fonctionnement du soustracteur 1. Les signaux portent les mêmes références que sur la figure 9. Dans l'exemple illustré, on a réalisé quatre soustractions successives de 8 bits signés, correspondant à quatre vagues de vecteurs Wi du dictionnaire DICO. A titre d'exemple, les soustractions illustrées par la figure 10 sont les suivantes: 11111110 (-2)- 11111111 (-1) = 11111111 (-1 sur8 bits) avec retenue à 1 01111110 (+126)- 01010101 (+85)= 00101001 (+41) retenue à 0 01111110 (+126) - 00000000 (+0) = 01111110 (+126) retenue à O 01111110(+126)- 11111111 (-1)=01111111 (+127)retenueà 0 La figure 11 illustre un exemple de registre à décalage 2 utilisable dans le cadre de l'invention. Le registre à décalage 2, de façon classique, comprend huit bascules D, 201 à 208, disposées en cascade. Le registre 2 reçoit, sur une première entrée de la première bascule 201, le signal SOUS, résultat de la soustraction et généré par le soustracteur 1. Le signal RST est asynchrone et remet à zéro le contenu du registre. Il a été précédemment décrit. Il est transmis à toutes les bascules (entrée de remise à zéro). Un signal EN3 valide la propagation des données le long du registre 2. Il doit être à l'état "1" logique avant le processus de décalage, dans l'exemple avec le type de logique choisi. Il est également transmis sur une seconde entrée de toutes les bascules. Enfin le signal d'horloge H est transmis aux entrées prévues à cet effet de toutes les bascules. Sur sa sortie, la dernière bascule 208 délivre un signal OUTRG. Ce denier est égal au signal SOUS après un décalage de huit périodes d'horloge. 17 2716321 Le chronogramme de la figure 12 illustre ce processus. Les signaux représentés sur ce chronogramme portent les mêmes références que ceux de la figure 11. La figure 13 illustre un exemple de circuit 3 calculateur de valeur absolue utilisable dans le cadre de l'invention. Les signaux nécessaires au bon fonctionnement du calculateur de valeur absolue sont les suivants: - Le signal de remise à zéro RST qui est asynchrone et transmis à l'entrée de remise à zéro de la bascule 33; - Le signal d'horloge H transmis à l'entrée d'horloge de cette même bascule; Le signal OUTRG transmis sur l'entrée de donnée des circuits 3, c'est-àdire sur l'entrée inverseuse d'une porte ET 31, l'une des entrées d'une porte OU EXCLUSIF 34 et l'entrée non inverseuse d'une porte ET 36; et - Le signal CAR est transmis à l'entrée inverseuse d'une porte ET 36 et à l'une des entrées d'une porte ET 35. Lorsque ce signal CAR est égal à "1" logique, il entraîne la complémentation à 2 des données; Tous ces signaux ont déjà été décrits en relation avec les figures 9 à 12. En outre les signaux suivants sont nécessaires - Le signal EN4 qui est un signal de validation de la propagation du calcul d'un bit à l'autre (calcul du complément à 2). IL est transmis à l'une des entrées de la bascule 33; - Le signal SET2, transmis à l'une des entrées de la bascule 33 via une porte OU 32 et qui sert à positionner cette bascule au "1" logique avant l'arrivée du premier bit (calcul du complément à 2); - Le signal CTL qui valide la sortie s'il est au "1" logique. Il sert à étendre le résultat sur 12 bits en maintenant la sortie au "0" logique pendant la période de 4 bits supplémentaires. Il est transmis à l'une des entrées de la porte ET 38. Le signal de sortie du circuit 3 est le signal ABS égal à la valeur absolue du signal d'entrée. Il n'y a pas de délais entre l'entrée et la sortie, au temps de propagation près au travers des diverses portes. Pour compléter la description, la sortie du circuit logique ET 31 est reliée à l'entrée du circuit logique OU 32, la sortie "vraie" de la bascule 33 est rebouclée sur l'entrée non inverseuse de la porte ET 31 et, de plus, est reliée à la seconde sortie de la porte OU-EXCLUSIF 34, la sortie inversée de celle-ci est reliée à la seconde entrée de la porte 35, les sorties des portes 35 et 36 sont reliées chacune à l'une des 18 2716321 deux entrées d'une porte OU 37 et la sortie de celle-ci est reliée à la seconde entrée de la porte ET 38, étage de sortie du circuit 3. Le chronogramme de la figure 14 illustre trois exemples de calcul de la valeur absolue de signaux d'entrée OUTRG. Les signaux représentés sur cet organigramme portent les mêmes références que sur la figure 13. Les calculs effectués sont les suivants: OUTRG = SOUS décalé de 8 bits afin de disposer en temps utile de la retenue CAR OUTRG= l1111111 et CAR = 1 (-1) donc ABS = 00000001 (+1) OUTRG = 00101001 et CAR = 0 (+41) donc ABS =00101001 (+41) OUTRG = 01111110 et CAR = 0 (+126) donc ABS = 01111110(+126) L'additionneur 4, représenté de façon plus détaillée par la figure 15, est d'un type classique. Il comprend des circuits logiques combinatoires 40, générant un signal somme SOM et un signal retenu CO, et un registre d'enregistrement de la retenue constitué par une bascule 41. Les signaux à additionner sont, d'une part, le signal ABS provenant du circuit 3 de calcul de la valeur absolue et le signal ORB1, signal de sortie du registre à décalage bidirectionnel 5 qui sera décrit dans ce qui suit. Ce signal est égal au résultat précédemment calculé. Tout au début des calculs, tous les bits de ce signal sont naturellement égaux à zéro. Le registre de retenue 41 reçoit, sur une entrée de remise à zéro un signal RST1, qui remet à zéro la bascule avant de commencer le calcul de la somme, le signal d'horloge H sur l'entrée d'horloge de la bascule et un signal EN5 de validation de propagation de la retenue. Le signal en sortie "vraie" de la bascule 41 est rebouclé sur les entrées des circuits de calcul de la somme SOM et de la retenue CO. Le résultat de l'addition est fourni sans délai, au temps de propagation prés. Normalement, le signal de retenue CO n'est pas utilisé à l'extérieur des circuits 3. Le chronogramme de la figure 16 est un exemple de cinq additions particulières. Les signaux représentés sur ce chronogramme portent les mêmes références que sur la figure 15. L'additionneur travaille sur 12 bits puisqu'il reçoit la sortie du registre à décalage bidirectionnel 5. Le processus d'addition est le suivant: oooooooooooo000000000000 (O) + 000000000000 (1) = 000000000001 (1) + 000000101 001 (41) = 000000 01010 1(42) + 000001111110(126) = 000010101000 (168) + 0000011 1 1 1 1 1 (127) = 00010010011 1 (295) + 0000011 1 1 1 1 1 (127) = 000110100110 (422) 19 2716321 La somme maximale que l'on peut atteindre dans l'additionneur est (cas des vecteurs de 16 coordonnées): 16x[(-128) - (+127)] = 111111110000 (4080) 16x[(+127) - (-128)] = 111111110000 (4080) Il n'y a donc jamais de retenue à la fin du calcul sur 12 bits. On pourra donc se passer, dans ce cas, de remettre à zéro à l'aide de RSTI après chaque calcul. Le registre à décalage bidirectionnel 5 a un double rôle: d'une part il accumule la somme des distances par un rebouclage sur l'additionneur, comme précédemment décrit, d'autre part, il permet la sortie du résultat, dans l'ordre inverse d'arrivée, pour permettre la comparaison. Comme illustré de façon schématique par la figure 17, de façon classique, le registre à décalage 5 comprend 12 bascules 501 à 512 en cascade, reliées entre elles à l'aide d'un réseau de portes logiques permettant une propagation avant ou arrière des bits du signal d'entrée, selon l'état logique d'un signal de commande particulier. Le signal d'entrée est le signal SOM généré par l'additionneur 4. Le registre à décalage bidirectionnel reçoit également un signal RST2 de remise à zéro de l'ensemble des bascules 501 à 512, le signal d'horloge H, un signal de validation EN6 de propagation des bits de données et un signal de commande de sens SENS, déterminant le sens de propagation. Dans l'exemple précis décrit, ce signal est au "1" logique pour le sens de l'accumulation des données et au "0" logique pour la sortie en marche arrière des données. Le signal de sortie ORB 1 correspond à la marche avant des données, avec un retard de 12 bits (périodes d'horloge) et est retransmis à l'une des entrées de l'additionneur 4, comme il a été précédemment décrit. Le signal OUT2 correspond à la sortie en marche arrière des données, partant du bit de plus fort poids ("MSB"). Ce signal est transmis au comparateur 6, comme décrit ci-après. La figure 18 est un chronogramme illustrant la marche des signaux dans le registre à décalage bidirectionnel 5. Les signaux illustrés par ce chronogramme portent les mêmes références que sur la figure 17. Tant que le signal SENS est au "1" logique, il y a propagation avant des données. On remarque que la séquence représentée par le signal SOM, soit 110010010000 (hachures simples sur le chronogramme) se retrouve sur le signal ORB 1 décalée de douze périodes d'horloge H. Elle est retransmise à l'additionneur 4. La séquence suivante du signal SOM est 110010110000. Destinée au comparateur, elle est retransmise par le signal OUT2 2716321 en marche arrière, soit 000011010011 (hachure double sur le chronogramme), car le signal SENS est passé à l'état "0" logique. Le comparateur 6 a également un double rôle. Le premier est de gérer un drapeau qui sert à indiquer qu'il a détecté la plus petite distance. Le second rôle est de détecter les bits nuls dans la distance qu'il traite. Pendant le processus de comparaison, cette information est transmise à l'ensemble des comparateurs pour les éliminer éventuellement. La figure 19 illustre un exemple d'architecture de comparateur élémentaire 6 pouvant être mis en oeuvre dans le cadre de l'invention. Les signaux nécessaires au bon fonctionnement de ce circuit sont les suivants - Le signal RST est un signal de remise à zéro transmis à l'entrée de remise à zéro d'une bascule 64; - Le signal d'horloge H qui est transmis à l'entrée d'horloge de cette même bascule 64; - Le signal SET3 qui est un signal destiné à forcer au "1" logique la bascule du drapeau Fi. Il est transmis à une première entrée de la bascule 64, via une porte logique OU 63; - Le signal EN7 qui valide la bascule 64 du drapeau Fi. Ce signal est transmis sur une seconde entrée de la bascule 64; - Le signal OUT2, en provenance du registre à décalage bidirectionnel 5, qui représente la distance, bit de plus fort poids en premier ("MSB"). Ce signal est transmis, d'une part à l'entrée inverseuse d'une porte logique ET 61 et à l'une des entrées d'une porte logique NON-ET 60; et Le signal Z qui est le signal "détection de zéro" provenant de tous les autres comparateurs des modules de quantification élémentaires QVn. Il est transmis à la seconde entrée de la porte NON-ET 60; Les signaux RST, H et OUT2 ont été précédemment décrits. En sortie, le comparateur 6 génère deux signaux: - Le signal Zi, présent sur la sortie de la porte logique ET 61, ou signal d'information de détection d'un bit nul dans le signal de distance OUT2 entrant si le drapeau n'est pas abaissé; et - Le signal de drapeau Fi associé au comparateur particulier QVn et présent sur la sortie "vraie" de la bascule 64. Pour compléter la description, la sortie véhiculant le signal Fi est rebouclée, d'une part, sur l'entrée non inverseuse de la porte logique ET 61, et d'autre part, sur 21 2716321 une première entrée d'une porte ET 62, la sortie de la porte logique NON-ET 60 est connectée à la seconde entrée de la porte logique ET 62 et la sortie de celle-ci est connectée à la seconde entrée de la porte logique OU 63. Le processus de comparaison se déroule selon les étapes décrites en relation avec la figure 5. les modules de quantification élémentaires QVn sont synchronisés entre eux pendant ce processus. Les distances sont comparées entre elles bit à bit, en débutant par le bit de plus fort poids ("MSB"). Les signaux Zi de toutes les sorties des comparateurs des modules de quantification élémentaires QVn sont combinés en un OU logique (porte logique CL: figure 6) pour former le signal Z en entrée, ce signal Z étant transmis à tous les comparateurs 6. Il s'ensuit que Z est au "1" logique si l'un au moins des comparateurs a trouvé un bit nul au cours du processus de comparaison des distances. Si Z est au "1" logique et que le bit entrant n'est pas nul, alors la distance que traite ce comparateur 6 est supérieure aux autres. Il peut donc être éliminé. Avant la comparaison, pour chaque module, le drapeau Fi est levé (" l" logique), ce en utilisant le signal SET3. Tant qu'il reste au "1" logique, le module de quantification élémentaire QVn concerné reste en course dans la recherche de la plus petite distance. Il bascule au "0" logique si l'un des comparateurs 6 des autres modules voit une distance plus petite. Dès que le drapeau Fi est retombé, le module correspondant est éliminé. La suite du processus de comparaison ne concerne plus ce module. Zi n'est plus transmis et reste au "0" logique. Ainsi les autres comparateurs ne sont pas perturbés dans la suite de la comparaison. La figure 20 représente schématiquement l'ensemble des comparateurs du quantificateur vectoriel QV et illustre le processus d'élimination progressive de ceux-ci. Sur cette figure, les comparateurs en traits pointillés sont éliminés, le drapeau Fi correspondant est au "0" logique, ainsi que le signal Zi. Pour fixer les idées, les chronogrammes des figures 21 et 22 illustrent deux exemples de comparaisons de distances. Les signaux représentés portent les mêmes références que sur la figure 20. On remarque que, sur le chronogramrnme de la figure 21, la distance 000011001000 véhiculée par le signal OUT2 a été plus petite que les autres distances. Il s'ensuit que le drapeau Fi est resté au "1" logique pendant tout le processus de comparaison. Zi a pour valeur 111100110111, ce qui est l'inverse logique de la distance véhiculée par le signal d'entrée OUT2. 22 2716321 Sur le chronogramme de la figure 22, une distance plus courte a été trouvée dès le quatrième bit, ce qui a provoqué l'abaissement du drapeau Fi. On remarque que Z transmet l'inverse logique de la distance la plus courte. Jusqu'à présent, on a considéré implicitement qu'il n'y avait qu'une seule vague de vecteurs Wi à traiter. Selon un mode de réalisation préféré, on traite plusieurs vagues successives de vecteurs, comme il a déjà été indiqué. Il convient donc, après chaque vague, de conserver en mémoire la distance du vecteur le plus proche trouvée pendant le traitement de cette vague. Cette disposition permet de comparer les distances de chaque nouvelle vague à cette distance minimale. Pour ce faire, il suffit de stocker le signal Z = Z, = Distance min dans un registre à décalage classique MD, comme illustré par la figure 23. Ce registre MD est constitué de 12 bascules en cascade B 1 à B 12. Il reçoit les signaux suivants: - Le signal de remise à zéro RST transmis aux entrées de remise à zéro de toutes les bascules B1 à B12; - le signal d'horloge H transmis aux entrées d'horloge de ces mêmes bascules; - Le signal de validation EN qui valide la propagation des données dans le registre à décalage MD; et - Le signal Z représentant les données d'entrée (véhiculé par la liaison Sel: figure 6); Par la sortie SMD, le signal ORG est transmis au circuit CMD (figure 6) qui comprend, comme les quantificateurs élémentaires QVn, un comparateur. Ce circuit sera détaillé dans ce qui suit. Ce signal est décalé de 12 périodes d'horloge par rapport au signal d'entrée Z. Le chronogramme de la figure 24 illustre, pour un exemple particulier, le processus de mémorisation d'une distance véhiculée par le signal Z et représentée par la séquence 111100110111. Le stockage s'effectue sous la commande du signal de validation EN. Au préalable, le registre MD a été remis à zéro par le signal RST. L'organigramme de la figure 25 illustre le processus de sortie (signal ORG) de cette même séquence hors du registre MD, toujours sous la commande du signal de validation EN. La figure 26 illustre les circuits complets de comparaison, incluant le circuit de comparaison des circuits CNID (figure 6): comparateur 6'. L'inverse de la distance minimale est stockée après chaque vague dans le registre à décalage MD de profondeur 12 bits. La porte logique CL effectue un premier OU logique de tous les signaux Zi générés par les comparateurs élémentaires 6. Une deuxième porte 23 2716321 logique CL' effectue un OU logique du signal de sortie de la porte CL et du signal Zmin, généré par le comparateur 6'. Ce signal est en tout point similaire aux signaux Zi. Une seule porte OU pourrait d'ailleurs être utilisée. Le signal de sortie de la porte CL' est égal à: ZOut -= Z,, + Z = Distance minimale. Ce signal est transmis à l'entrée Z de tous les comparateurs 6, y compris le comparateur 6', d'une part, et à l'entrée du registre à décalage 12 bit MD, d'autre part. Ces dispositions permettent de comparer la distance minimale trouvée dans l'ensemble des vagues aux nouvelles distances calculées pour une nouvelle vague. Le processus d'élimination des plus grandes distances concerne également cette distance, conmme il a été indiqué précédemment. Le comparateur 6' est en tout point identique aux comparateurs 6. Il est donc inutile de le redécrire. Comme le registre à décalage MD contient l'inverse de la distance minimale des vagues précédentes, on utilise un inverseur logique INV intercalé entre la seconde entrée du comparateur (entrée du signal distance) et la sortie du comparateur MD. A la remise à zéro, il contient la valeur 000000000000 qui correspond à une distance jamais atteinte, c'est-à-dire à la distance 111111111111 (4095) qui sera systématiquement éliminée dès la première vague de vecteurs. Le drapeau résultant, référencé ZiNVD, est traité différemment des 16 autres. S'il est abaissé, cela signifie qu'un vecteur est plus proche dans la vague qui vient d'être traitée. Ce signal commande donc la mémorisation d'une nouvelle adresse du meilleur vecteur du dictionnaire DICO. Comme il a été indiqué, l'encodage des vecteurs d'entrée a pour but de réduire l'information apportée par l'ensemble des drapeaux en cours de quantification à une donnée simple et finale: l'adresse, dans le dictionnaire DICO, du vecteur Wi le plus proche du vecteur à quantifier Xi. Après chaque vague de vecteurs, chacun des 16 modules élémentaires de quantification QVn produit un drapeau indiquant le passage d'un vecteur pertinent du dictionnaire DICO. Un dix-septième drapeau concerne la mémoire de la plus petite distance trouvée. Ce dernier drapeau indique que rien de mieux n'a été trouvé dans la vague qui vient de passer. C'est celui-ci qui provoque la mémorisation de l'adresse d'un nouveau vecteur. C'est donc à ce niveau que se décide de la priorité accordée à un vecteur ou à un autre s'ils sont à la même distance binaire du vecteur à quantifier. De façon préférentielle, la priorité est donnée à l'indice la plus faible dans une vague donnée de vecteur et à la première vaque parmi plusieurs. Il s'ensuit que l'on utilise, dans un mode réalisation préféré de l'invention, un encodeur prioritaire et un compteur de vagues. 24 2716321 La figure 27 illustre un exemple de réalisation du calculateur d'adresse CA (figure 6). Il comprend un encodeur à priorité 70 recevant les 16 drapeaux F1 à F 16 à encoder. Ces drapeaux sont générés par les comparateurs élémentaires 6. Cet encodeur 70 peut être réalisé, de façon classique, en logique combinatoire. Dans exemple décrit, il code les 16 drapeaux Fi en un mot binaire de quatre bits. Ces quatre bits représentent le numéro de vecteur dans une vague Nowi (figure 2). De façon accessoire, un signal VAL est dérivé des signaux de drapeaux Fi indiquant qu'au moins un drapeau est à l'état logique "1". Les quatre bits Nowi sont transmis à quatre bascules, 751 à 754, de type "latch" d'un registre de mémoire d'adresses 75, qui en comporte quatre autres, 755 à 758. Un deuxième circuit important du calculateur d'adresse CA est constitué par un compteur 74 dont le but est de compter le nombre de vague. En sortie, il génère un nombre binaire Nova, également de quatre bits, représentant le numéro de vague, et transmis aux quatre dernières bascules, 755 à 758, pour y être enregistré. Une porte OU 72 combine le signal VAL généré par le codeur 70 et le signal ZiNVD produit par le comparateur 6' (figure 26). La sortie de cette porte logique 72 est transmise à une première entrée d'une bascule 73. Le signal ZINVD et un signal de commande de validation ENA_AD sont transmis, respectivement aux entrées inverseuse et non inverseuse, d'une porte logique ET 71. La sortie de cette porte logique est transmise sur l'entrée de validation de la bascule 73 et de toutes les bascules du registre 75. Il provoque l'écriture de l'adresse dans les bascules du registre 75 et l'écriture du signal en sortie de la porte logique 72, combinaison du signal VAL est du signal ZINVD, c'est-à-dire le OU logique de tous les drapeaux. Le signal ADHERE, en sortie de la bascule 73, indique qu'un vecteur proche a été trouvé. Le signal ENA_CPT sert à incrémenter le compteur 74 à chaque passage de vague de vecteurs. Il doit être mis au "1" logique pendant une période d'horloge après chaque vague. Enfin, toutes bascules, 73 et 751 à 758, ainsi que le compteur 74, reçoivent le signal d'horloge H et un signal de remise à zéro RST_AD. Les signaux binaires sur les sorties des bascules 751 à 758 sont les bits d'adresses AD1 à AD8 du vecteur adresse AD Wi associé au meilleur vecteur Wi du dictionnaire DICO. La figure 28 est un chronogramme illustrant, sur un exemple particulier, l'encodage d'adresse lors de la première vague de vecteurs, à l'aide des circuits CA qui viennent d'être détaillés. 2716321 On observe, sur le chronogramme, le processus d'élimination qui conduit à trouver la distance minimale. ZINVD correspondant au registre de distance minimale est éliminé en premier. Dans l'exemple illustré, ce registre était vide. Ensuite F1, F6, F8, F12, F13, F15 sont éliminés, puis F2, F4, F5, F7, F9, F10 et enfin F4. Il reste F11 et F14 dont les comparateurs 6 correspondants on vu passer la distance la plus petite. Le signal ENA_AD autorise l'écriture de l'adresse en sortie. A l'encodage, on retrouve sur AD1 à AD4 (numéro ADWi du vecteur Wi) la désignation de F11, qui a bénéficié de la priorité à l'indice le plus faible. Sur ADS à AD8, on trouve le numéro de la vague (NoVa): première vague ou vague de valeur zéro. Le signal ENA_CPT permet d'incrémenter le compteur de vague 74. La figure 29 est un chronogramme illustrant l'encodage d'adresse lors d'une deuxième vague. Dans l'exemple illustré, on a supposé qu'un vecteur plus performant que les vecteurs précédents était passé par Fl. Le résultat est 18 (en hexadécimal), soit le vecteur 8 de la deuxième vague ou vague codée 1. Dans l'exemple de réalisation détaillé, le compteur de vagues 74 accepte un maximum de 16 vagues successives. Il est clair que l'invention ne saurait être limitée à cette valeur particulière. On peut facilement augmenter la capacité de ce compteur. Naturellement, le nombre de bits d'adresse doit être augmenté concurremment à l'augmentation de la capacité du compteur. On peut encore améliorer les caractéristiques de rapidité d'un quantificateur selon l'invention. En effet la vitesse du quantificateur QV est physiquement limitée. On doit prendre en considération les caractéristiques des composants utilisés pour le réaliser: circuits intégrés d'une technologie déterminée. La conception influe également sur les caractéristiques globales: la spécification de chemins critiques permet dans une grande mesure de prévoir et améliorer la vitesse de fonctionnement. Il n'en demeure pas moins vrai, que lorsque tous les paramètres ont été optimisés, il n'est plus possible d'augmenter la vitesse de fonctionnement. On peut cependant encore augmenter la vitesse de quantification en scindant le dictionnaire DICO en N parties distinctes, ou sous-dictionnaires. Chaque sous- dictionnaire est associé à un quantificateur particulier. Si le nombre de vecteurs Wi du dictionnaire DICO est divisible par N, il s'ensuit alors que le gain en rapidité obtenu est pratiquement N fois celui atteint lorsqu'on utilise un seul quantificateur, avec la même quantité totale de vecteurs Wi naturellement. Chaque vecteur d'entrée Xi est présenté simultanément au N quantificateurs. Les signaux de commandes restent les mêmes que ceux précédemment décrits et sont identiques pour chaque quantificateur. La difficulté est de trouver la distance minimale parmi les N 26 2716321 quantificateurs, et donc le vecteur le plus pertinent du dictionnaire, pour la vague en cours. Plusieurs solutions peuvent être mises en oeuvre dans le cadre de l'invention. La première est basée sur le fait que le signal Zout, comme il a été montré, est l'inverse logique de la distance minimale. On peut utiliser cette information pour comparer les différents quantificateurs entre eux. De la même manière que les modules élémentaires sont éliminés à l'intérieur d'un quantificateur, on va pouvoir éliminer les quantificateurs mis en parallèles. La figure 30 illustre la mise en parallèle de deux quantificateurs. Naturellement ce nombre n'a été choisi que pour ne pas surcharger inutilement le schéma. Un nombre plus important de mises en parallèles est parfaitement réalisable. On a supposé que le nombre de vecteurs du dictionnaire DICO (non représenté) était égal à 2x16. Les signaux de commande ont été regroupés sous la référence générale Scom et sont distribués de la même manière aux deux quantificateurs vectoriels QVA et QVB. Les signaux de sortie ZoutA et ZoutB sont inversés par les portes logiques inverseuses, INVA et INVB, respectivement. Finalement, les modules comparateurs COMPA et COMPB, associés aux quantificateurs vectoriels QVA et QVB, produisent des signaux ZA et ZB, ainsi que deux drapeaux FA et FB. Ces modules comparateurs jouent le rôle du module comparateur 6' de la figure 26. On peut utiliser les signaux ZA et ZB, en les combinant à l'aide d'une porte logique OU CLAB en un signal unique Z, pour éliminer l'un ou l'autre des quantificateurs QVA ou QVB, selon que le vecteur le plus performant est "vu" par le premier ou le second quantificateur vectoriel. Ce processus peut naturellement être étendu à N quantificateurs vectoriels, avec N>2. Chacun des quantificateurs vectoriels QVA et QVB génère son propre mot d'adresse, ADWiA et ADWiB respectivement. L'une ou l'autre de ces adresses est utilisée en fonction du drapeau FA ou FB restant, indiquant par là quel est le meilleur vecteur du dictionnaire DICO à prendre en compte pour la vague en cours. Dans la solution, qui vient d'être décrite, la logique mise en oeuvre au niveau du système global est très semblable à celle mise en ouvre dans chaque quantificateur vectoriel. Elle consiste, à ce dernier niveau, à utiliser 16+1 modules comparateurs joints par un OU logique. On peut procéder de la sorte avec les (N x 16 + 1) distances. Pour ce faire, il suffit d'effectuer une légère modification de la configuration des circuits: on ouvre le signal de détection de zéro Zout à l'ensemble des quantificateurs. Pour ce faire, si on se reporte de nouveau à la figure 26, il suffit 27 2716321 de couper physiquement la liaison entre la sortie de la porte logique CL' et l'entrée du registre MD, autrement dit on ne reboucle plus directement ce signal sur le comparateur 6'. Si on considère de nouveau le cas de deux quantificateurs vectoriels en parallèle, le schéma global devient celui illustré par la figure 31. Les éléments identiques ou similaires à ceux de la figure 30 portent les mêmes références et ne seront pas redécrits. Les signaux ZoutA et ZoutB sont combinés en un OU logique par la porte CL'AB et sont rebouclés, sous la forme de signaux représentant l'inverse de la distance minimale: ZinA ou ZinB, vers les comparateurs des deux quantificateurs vectoriels QVA et QVB, ou de façon plus générale vers les N quantificateurs en parallèle. Dans cette configuration, au lieu de travailler sur la distance minimale locale aux vecteurs qu'il traite, chaque quantificateur vectoriel effectue la comparaison sur le signal Zin = ZoutA + ZoutB. On peut constater que ces signaux sont bien l'inverse logique de la distance minimale, comme il a été indiqué ci-dessus. En effet, les relations suivantes sont vérifiées: ZinA =ZiB =Zin= Zo.,A + ZotB Zin =mmnA + ZminB + j Zi + Zi i.A iEB ZmnA =ZmiB =Zmi Z,i = Zmi + Zi =Distance Minimale iEA, _;B Une autre solution, duale des précédentes, est de quantifier simultanément plusieurs vecteurs d'entrée Xi, à l'aide d'un seul et même dictionnaire DICO. On utilise également, pour ce faire, plusieurs quantificateurs vectoriels en parallèle. La figure 32 illustre un exemple d'un tel mode de réalisation, réduit à deux vecteurs à quantifier présentés en simultanéité. Les éléments identiques ou similaires à ceux des figures 30 ou 31 portent les mêmes références et ne seront pas redécrits. A chaque vague, les mêmes 16 vecteurs (dans l'exemple décrit) du dictionnaire DICO (non représenté) sont présentés simultanément aux deux quantificateurs vectoriels QVA et QVB. Par contre deux vecteurs à quantifier différents, référencés XiA et XIB, sont présentés en entrée. Chaque quantificateur, QVA ou QVB, génère comme précédemment les signaux ZoutA et ZoutB, d'une part, et les signaux d'adresse, ADWiA et ADWiB. Ces deux séries de signaux sont associées aux vecteurs respectifs XiA et XiB. Ces signaux sont traités de la manière précédemment décrite. 28 2716321 On peut naturellement utiliser N quantificateurs vectoriels en lieu et place de chacun des quantificateurs vectoriels QVA ou QVB, selon l'une des configurations décrites en relation avec les figures 31 ou 32. L'utilisation de N quantificateurs pour traiter N vecteurs à quantifier différents permet, d'une part, de multiplier pratiquement par N la vitesse globale de quantification et, d'autre part, autorise une simplification notable du câblage puisque les signaux de commande sont communs à tous les quantificateurs vectoriels. En outre, le même dictionnaire est utilisé par ces N quantificateurs vectoriels. Il est cependant nécessaire de disposer des N vecteurs XqN à quantifier simultanément. En outre, les vecteurs présentés simultanément doivent avoir la même dimension. Dans l'application compression d'image, selon un mode préféré de l'invention, les vecteurs à quantifier sont susceptibles de présenter aléatoirement des dimensions variables (nombre de coordonnées), typiquement 3 ou 5 coordonnées comme illustré par la figure 4. On ne pourra donc pas utiliser ce mode de réalisation pour ce type d'application particulière. Pour terminer la description du fonctionnement des dispositifs permettant la mise en oeuvre du procédé selon l'invention, il est utile de remarquer que le flux de données en série via certains registres intermédiaires permet l'exécution simultanée de plusieurs opérations, selon un mode connu sous le sigle anglo-saxon de "pipe- line". A titre d'exemple, une soustraction peut commencer avant la fmin de l'addition du résultat de la soustraction précédente. D'autre part, certaines opérations sont instantanées, au sens o leur résultat n'est pas tributaire de l'occurrence d'un front d'horloge pour être validé. L'addition, la soustraction et le calcul de la valeur absolue sont de ce type. Pour fixer les idées, sans optimisation, des essais ont montré que la quantification d'un vecteur de dimension 3 nécessite 63 périodes d'horloge et la quantification d'un vecteur de dimension 5 nécessite 87 périodes d'horloge. On peut également remarquer qu'il est inutile d'attendre le passage complet d'une vague complète de vecteurs du dictionnaire avant d'envoyer la vague suivante, car seul le résultat final est intéressant. On peut donc recourir à un chevauchement entre vagues successives. Si NC est la dimension (en nombre de coordonnées d'un vecteur) et V le nombre de vagues de vecteurs du dictionnaire, les temps de quantification théoriques obéissent aux relations suivantes: - sans chevauchement, T = 21 xV + 12xNcxV périodes d'horloge. 29 2716321 - avec chevauchement, T = 9 + 12xV + 12xNcxV périodes d'horloge. Diverses dispositions permettent d'optimiser encore le fonctionnement. On peut montrer notamment que le registre bidirectionnel 5 (de 12 bits dans exemple décrit) constitue un "goulot d'étranglement". L'utilisation de deux registres en alternance permettrait de gagner 13 périodes d'horloge entre deux vagues successives de vecteurs, ce naturellement au prix d'une légère augmentation de la complexité de la logique de commande. Dans ce même ordre d'idée, il faut noter également que le recours au chevauchement complique la génération des signaux de commande. C'est notamment le cas de la compression d'image, avec des vecteurs de dimension variant aléatoirement, entre 3 et 5 coordonnées par exemple. Le quantificateur vectoriel tel qu'il vient d'être décrit peut s'insérer dans un ensemble de circuits informatisés qui lui fournit les signaux de commande nécessaires à son bon fonctionnement, stocke les vecteurs du dictionnaire, les lui fournit et, enfmin, génère les vecteurs à quantifier au format série. L'architecture d'un tel système est illustrée schématiquement par les circuits 8 de la figure 33. Ces circuits 8 sont pilotés par un microprocesseur 80 qui génère également les vecteurs à quantifier. C'est, par exemple, ce microprocesseur qui va commander les étapes préliminaires de calcul de TCD (figure 2). Les vecteurs à quantifier doivent être présentés au format série comme il a été indiqué. Pour ce faire, on utilise notamment un convertisseur paralèlle-série 85 qui transmet les vecteurs à quantifier Xi au quantificateur vectoriel QV. Les signaux de commande sont générés par une mémoire morte de type "ROM" ("Read Only Memory" ou mémoire à lecture seule) 81. La capacité nécessaire de mémoire dépend naturellement du nombre d'états à générer. Elle dépend notamment de la taille des vecteurs et de celle des vecteurs du dictionnaire (nombre de vagues à traiter). Un compteur 82 génère de façon classique les adresse de lecture de la mémoire 81. Les vecteurs du dictionnaire sont stockés physiquement dans une mémoire vive à accès aléatoire 83 ou "RAM" selon la terminologie anglo-saxonne usuelle. Le dictionnaire est chargé avant le début des opérations de quantification. Egalement, de façon habituelle, un compteur 84 génère les adresses de lecture de la mémoire 83. Le format de stockage, par contre, est particulier. 16 bits sont nécessaires pour chaque coordonnée de chaque vague de 16 vecteurs (dans l'exemple illustré). On a donc besoin de mots de 16 bits dont le premier est le bit de 2716321 plus faible poids ("LSB") de la première des coordonnées des 16 premiers vecteurs. Le dernier est formé des 16 bits de signe de la dernière coordonnée des 16 derniers vecteurs du dictionnaire. Un simple PORT 86 est utilisé pour récupérer l'adresse ADWi en fmin de quantification. Celle-ci est transmise, par exemple au microprocesseur 80 pour un traitement ultérieur selon l'art connu. Seuls les éléments essentiels à la bonne compréhension de l'invention ont été représentés sur la figure 33. Un certain nombre de signaux classiques sont nécessaires: signaux d'horloge et de remise à zéro par exemple. Un signal de commande de démarrage du processus de quantification et un signal indiquant la disponibilité d'un résultat sont également nécessaires. L'invention n'est pas limitée aux seuls exemples de réalisations précisément décrites en relation notamment avec les figures 3 à 33. De nombreux types de circuits, notamment des circuits intégrés configurables à la demande, peuvent être mis en oeivre pour remplir les fonctions essentielles du quantificateur vectoriel selon l'invention. Elle ne saurait être non plus limitée en quoique ce soit par les valeurs numériques qui n'ont été fournis qu'à titre d'exemple, pour fixer les idées. Enfin, bien que particulièrement bien adaptée à l'application "compression d'images numériques en temps réel", le procédé de quantification vectoriel selon l'invention trouve application dans de nombreux autres domaines. 3 1 2716321 REVENDICATIONS 1. Procédé de quantification vectorielle d'un signal numérique comprenant les étapes de conversion de ce signal en un vecteur à quantifier (Xi), au format série signé, de comparaison de ce vecteur à quantifier (Xi) avec des vecteurs (Wi) d'un dictionnaire (DICO) de même dimension que le vecteur à quantifier (Xi), de détermination des distances binaires entre le vecteur à quantifier (Xi) et les vecteurs (Wi) du dictionnaire (DICO), de sélection de la distance minimale et de calcul de l'adresse (ADWi) du vecteur (Wi) du dictionnaire (DICO) correspondant à ce vecteur, caractérisé en ce que, - l'étape de comparaison consiste à comparer, bits à bits, le vecteur à quantifier (Xi) simultanément avec un nombre déterminé de vecteurs (Wi) du dictionnaire (DICO); - l'étape de détermination des distances consiste à générer simultanément des mots binaires représentant les distances entre le vecteur à quantifier (Xi) et les vecteurs (Wi) du dictionnaire (DICO); et - l'étape de sélection de la distance minimale consiste à générer un signal de drapeau (Fi) associé à chaque mot binaire et positionné à un premier état logique, à effectuer une séquence de comparaisons simultanées des bits desdits mots, en commençant par les bits de plus fort poids, à émettre pour chaque bit nul de chaque mot binaire un signal (Zi) détectant cet état, à émettre un signal supplémentaire (Z) représentant le "OU" logique de tous ces signaux, à un premier état logique lorsqu'au moins un des bits des mots binaires est nul, à comparer les bits de chaque mot binaire à ce signal supplémentaire (Z), à commuter lesdits signaux de drapeau (Fi) des mots binaires, du premier état logique à l'état logique complémentaire, si le bit en cours de comparaison a la valeur "un" et si le signal supplémentaire (Z) est au premier état logique, et à éliminer les mots binaires associés à ces signaux de drapeau (Fi) des comparaisons subséquentes, et à déterminer à partir des signaux de drapeau (Fi) restés audit premier état l'adresse (ADWi) du vecteur (Wi) du dictionnaire (DICO) le plus proche du vecteur à quantifier (Xi). 2. Procédé selon a revendication 1, caractérisé en ce que ledit dictionnaire (DICO) est partitionné en un nombre déterminé de vagues de vecteurs (Wi), chaque vague comprenant un nombre égal de vecteurs, en ce que l'étape de comparaison consiste à comparer, bits à bits, le vecteur à quantifier (Xi) avec tous les vecteurs (Wi) de chaque vague, cette étape étant réitérée jusqu'à ce que tous les 32 2716321 vecteurs (Wi) du dictionnaire (DICO) aient été comparés au vecteur à quantifier (Xi), et en ce qu'il comprend les étapes supplémentaires consistant: - à l'issue de la comparaison du vecteur à quantifier (Xi) avec tous les vecteurs (Wi) de chaque vague, à mémoriser un mot binaire représentant la distance minimale déterminée lors des vagues précédentes; - à associer à ce mot binaire représentant la distance minimale un signal de drapeau particulier (ZiNVD) positionné audit premier état logique avant l'occurence de chaque nouvelle vague de vecteurs (Wi); - à effectuer une séquence de comparaisons simultanées de ce mot représentant la distance minimale avec les bits de tous les autres mots binaires, en commençant par les bits de plus fort poids; - à émettre pour chaque bit nul de ce mot binaire un signal (Zi, Zmin) détectant cet état, ledit signal supplémentaire (Z) représentant en outre le "OU" logique de ce signal avec les signaux détectant un bit nul dans lesdits mots binaires; - à comparer le bit du mot binaire représentant la distance minimale au signal supplémentaire (Z); et - à commuter le signal de drapeau (ZINVD) du mot binaire représentant la distance minimale, du premier état logique à l'état logique complémentaire, si le bit en cours de comparaison a la valeur "un" et si ledit signal supplémentaire (Z) est au premier état logique, et à éliminer le mot binaire représentant la distance minimale des comparaisons subséquentes; - et en ce que l'adresse (AD wi) du vecteur (Wi) du dictionnaire (DICO) le plus proche du vecteur à quantifier (Xi) est déterminée à partir des signaux de drapeau (Fi, ZiNvD) associés aux mots binaires et au mot binaire représentant la distance minimale et restés audit premier état. 3. Procédé selon la revendication 2, caractérisé en ce qu'il comprend des étapes supplémentaires de comptage du nombre de vagues de vecteurs (Wi) successives et de génération d'un mot binaire représentant le nombre de vagues. 4 Procédé selon la revendication 3, caractérisé en ce que l'adresse (AD Wi) du vecteur (Wi) du dictionnaire (DICO) le plus proche du vecteur à quantifier (Xi) est un mot binaire comportant un segment (Nova) indiquant le numéro de vague déterminé à partir dudit mot binaire représentant le nombre de vagues de vecteurs (Wi) et un segment indiquant l'adresse du vecteur (Nowi) dans une vague déterminée. 5. Procédé selon la revendication 1, caractérisé en ce que les vecteurs (Wi) du dictionnaire (DICO) sont associés à des indices indiquant des priorités 33 2716321 croissantes et en ce que, lorsque plusieurs signaux de drapeau (Fi) restent audit premier état logique, il comprend une étape consistant à sélectionner le signal de drapeau (Fi) correspondant au vecteur de plus grande priorité. 6. Procédé selon l'une quelconque des revendications 2 à 4, caractérisé en ce que les vecteurs (Wi) du dictionnaire (DICO) sont associés à des indices indiquant des priorités croissantes et les vagues de vecteurs (Wi) à des numéros croissants; et en ce que lorsque plusieurs signaux de drapeau (Fi) restent audit premier état logique, il comprend une étape consistant à sélectionner le signal de drapeau (Fi) correspondant au vecteur de plus grande priorité et de plus faible numéro de vague. 7. Procédé selon l'une quelconque des revendications 1 à 6, caractérisé en ce que ledit dictionnaire (DICO) de vecteurs (Wi) comprend plusieurs sousensembles de vecteurs, chaque sous-ensemble comprenant au moins une vague de vecteurs, chaque vague comprenant le même nombre de vecteurs et chaque sous- ensemble le même nombre de vagues, la comparaison du vecteur à quantifier (Xi) est effectuée simultanément sur au moins une vague de vecteurs de chaque sous- ensemble. 8. Procédé selon l'une quelconque des revendications 1 à 6, caractérisé en ce que la comparaison est effectuée simultanément entre au moins deux vecteurs (Xi) à quantifier et au moins une vague de vecteurs d'un même dictionnaire (DICO). 9. Procédé selon l'une quelconque des revendications 1 à 8, caractérisé en ce que la dimension des vecteurs à quantifier (Xi) est variable. 10. Procédé selon l'une quelconque des revendications I à 9, caractérisé en ce que la distance entre un vecteur (Wi) du dictionnaire (DICO) et le vecteur à quantifier (Xi) est la distance de Minkowski dM, obéissant à la relation suivante: dM = Y{Xk - Wk pour k= 1 à kmax, avec X le vecteur à quantifier, W un des vecteurs du dictionnaire (DICO) et k dimension maximale du vecteur à quantifier. I 1. Procédé selon l'une quelconque des revendications 1 à 10, caractérisé en ce qu'il est appliqué à la compression en temps réel d'images numériques 12. Dispositif pour la mise en oeuvre du procédé selon l'une quelconque des revendications 1 à 11, caractérisé en ce qu'il comprend au moins des moyens de conversion (85) desdits signaux en une suite de vecteurs à quantifier (Xi), au format série signé, des moyens de génération et de stockage (83, 84) des vecteurs (Wi) du dictionnaire (DICO), des moyens de quantification vectorielle (QV) et un 34 2716321 calculateur d'adresse (CA) générant un mot binaire représentant l'adresse (AD Wi) du vecteur (Wi) du dictionnaire (DICO) le plus proche du vecteur à quantifier (Xi); en ce que les moyens de quantification vectorielle (QV) comprennent un nombre déterminé de modules quantificateurs élémentaires (QVn) associés chacun à un vecteur (Wi) dudit dictionnaire (DICO), chaque module (QVn) comportant des première et deuxième entrées (eX, ew) destinées à recevoir séquentiellement les bits respectifs d'un vecteur à quantifier (Xi) et du vecteur (Wi) du dictionnaire (DICO) qui lui est associé, les bits de poids le plus faible en premier, en ce que chaque module (QVn) comprend des moyens (1 à 5) pour générer et mémoriser un mot binaire représentant la distance entre le vecteur à quantifier (Xi) et le vecteur (Wi) du dictionnaire (DICO) qui lui est associé, et des moyens de comparaison (6) pour comparer séquentiellement tous les mots binaires entre eux, bits à bits, les bits de poids le plus fort en premier; en ce que les moyens de comparaison (6) sont munis d'une première sortie génèrant un premier signal binaire, dit de drapeau (Fi), positioné à un premier état logique en début de comparaison et une deuxième sortie générant un deuxième signal binaire (Zi) détectant un bit nul dans le mot binaire entrant dans le comparateur (6); en ce qu'il comprend des moyens logique (CL) effectuant un "OU" logique sur tous lesdits deuxièmes signaux binaires, générant un signal de sortie (Z) à un premier état logique lorsqu'au moins l'un des mots binaires comporte un bit nul, la sortie des moyens logiques étant rebouclée sur une troisième entrée (Sel), commune à tous les comparateurs (6) modules de quantification élémentaires (QVn); en ce que chaque moyen de comparaison (6) comprend un organe (60) détectant l'occurence dudit signal de sortie (Z) au premier état logique et de la valeur "un" du bit (OUT2) du mot binaire en cours de comparaison, commutant lesdit signaux de drapeau (Fi), du premier état logique à l'état logique complémentaire, si cette occurence est réalisée et éliminant les moyens de comparaison (6) du module élémentaire (QVn) des comparaisons subséquentes; et en ce que le calculateur d'adresse (CA) comprend un encodeur (70) générant, à partir des états logiques desdits signaux de drapeau (Fi), un mot binaire de sortie (Nowi) représentant l'adresse (AD Wi) du vecteur (Wi) du dictionnaire (DICO) le plus proche du vecteur à quantifier (Xi). 13. Dispositif selon la revendication 12, caractérisé en ce que des moyens pour générer et mémoriser un mot binaire représentant la distance entre le vecteur à quantifier (Xi) et le vecteur (Wi) du dictionnaire (DICO) qui lui est associé comprennent un registre à décalage bidirectionnel (5). 2716321 14. Dispositif selon les revendications 12 ou 13, caractérisé en ce que le dictionnaire (DICO) étant partitionné en plusieurs vagues de vecteurs (Wi), chaque vague comprenant un nombre égal de vecteurs et les vecteurs de chaque vague étant présentés séquentiellement aux modules quantificateurs élémentaires (QVn) pour réaliser des comparaisons successives de ces vecteurs (Wi) avec le même vecteur à quantifier (Xi), il comprend en outre des moyens (SMD) pour mémoriser un mot binaire représentant la distance minimale déterminée lors des comparaisons précédentes et des moyens de comparaison (6') pour comparer séquentiellement tous les mots binaires représentant les distances avec le mot binaire représentant la distance minimale, bits à bits, les bits de poids le plus fort en premier; en ce que ces moyens de comparaison (6') sont munis d'une première sortie générant un premier signal binaire (ZiNVD), dit de drapeau, positionné à un premier état logique en début de comparaison et une deuxième sortie générant un deuxième signal binaire (Zmin) détectant un bit nul dans le mot binaire entrant dans le comparateur (6); en ce qu'il comprend des moyens logiques (CL, CL') effectuant un "OU" logique sur tous lesdits deuxièmes signaux binaires (Zi, Zmin), générant un signal de sortie (Z) à un premier état logique lorsque au moins l'un des mots binaires comporte un bit nul, la sortie des moyens logiques étant rebouclée sur une troisième entrée, commune à tous les comparateurs (6,6') des modules de quantification élémentaires (QVn) et aux moyens de mémorisation de la distance minimale (SMD, CMD); en ce que chaque moyen de comparaison (6,6') comprend un organe (60) détectant l'occurence dudit signal de sortie au premier état logique et de la valeur "un" du bit du mot binaire en cours de comparaison (OUT2), commutant ledit signal de drapeau (Fi, ZINVD), du premier état logique à l'état logique complémentaire, si cette occurrence est réalisée et éliminant les moyens de comparaison (6, 6') des modules élémentaires (QVn) ou des moyens de mémorisation de la distance minimale (SMD, CMD) des comparaisons subséquente. 15. Dispositif selon la revendication 14, caractérisé en ce que le calculateur d'adresse (CA) comprend en outre un compteur (74) de vagues de vecteurs (Wi) et des moyens pour générer à partir dudit mot binaire de sortie (Nowi) du décodeur (70) et de l'état de comptage (Nova) de ce compteur, un mot binaire (AD1 à ADs) représentant l'adresse du vecteur (Wi) du dictionnaire (DICO) le plus proche du vecteur à quantifier (Xi) dans une vague de vecteurs (Wi) déterminée. 16. Dispositif selon la revendication 15 caractérisé en ce que, les vecteurs (Wi) du dictionnaire (DICO) étant associés à des indices indiquant des 36 2716321 priorités croissantes, ledit encodeur est un encodeur à priorités préétablies de manière à ce que, lorsque plusieurs signaux de drapeau (Fi) restent audit premier état logique, le décodeur sélectionne le signal de drapeau (Fi) correspondant au vecteur de plus grande priorité. 17. Dispositif selon l'une quelconque des revendications 12 à 16, caractérisé en ce que ledit dictionnaire (DICO) de vecteurs comprenant plusieurs sous-ensembles de vecteurs (Wi), chaque sous-ensemble comprenant au moins une vague de vecteurs, chaque vague comprenant le même nombre de vecteurs et chaque sous-ensemble le même nombre de vagues, il comprend plusieurs moyens de quantification vectorielle (QVA, QVB) disposés en parallèle, en nombre égal au nombre de sous-ensemble de vecteurs, chacun de ces moyens de quantification vectorielle recevant sur une première série d'entrées desdits modules élémentaires (QVn) les vecteurs (2xWi) appartenant à un desdits sous-ensembles et, sur une seconde série d'entrées, le vecteur à quantifier (Xi), le même vecteur à quantifier étant transmis à toutes les secondes entrées. 18. Dispositif selon l'une quelconque des revendications 12 à 16, caractérisé en ce qu'il comprend plusieurs moyens de quantification vectorielle (QVA, QVB) disposés en parallèle, chacun de ces moyens de quantification vectorielle recevant sur une première série d'entrées desdits modules élémentaires (QVn) les vecteurs d'au moins une vague de vecteurs (Wi) du dictionnaire (DICO), chaque vecteur étant présenté à tous les moyens de quantification vectorielle, et, sur une seconde série d'entrées, des vecteurs à quantifier (XiA, XiB), un vecteur à quantifier différent étant transmis à chacun desdits moyens de quantification vectorielle (QVA, QVB) disposés en parallèle.