Brevet FR2716737A1 — publié le 19950901

La présente invention concerne un procédé pour la compression d'images en temps réel, par quantification vectorielle, ainsi qu'un dispositif pour la mise en oeuvre de ce procédé de compression d'images. L'image numérique est un support d'information très séduisant mais il nécessite d'énormes volumes de stockage et des canaux de télécommunication à très large bande passante pour sa transmission. Une image monochrome standard de bonne qualité doit être codée par 256 niveaux de gris par pixel (point de l'image). Sa numérisation nécessite huit bits (huit valeurs binaires 0 ou 1), c'est-à-dire un octet par pixel stocké dans la mémoire d'un ordinateur. Cette image est généralement numérisée à raison de 512 pixels par ligne et 512 pixels par colonne, soit un total de 262144 octets, c'est-à-dire 256 kilo-octets (Koctets). Chaque pixel d'une image polychrome est codé par trois octets correspondant, respectivement, aux trois couleurs fondamentales : rouge, vert, bleu. Le stockage d'une image couleur nécessite donc 768 Koctets. Ainsi une disquette standard de 1,4 million d'octets (Moctet) ne peut enregistrer qu'une seule image de ce type. Une image de haute définition, par exemple une radiographie médicale numérisée, peut nécessiter jusqu'à 3000 x 4000 pixels, soit environ 11,5 Moctets. Un disque dur d'ordinateur de 120 Moctets peut stocker seulement 10 images de ce type. Leur transmission, par exemple à un spécialiste d'une autre ville pour avis, par le réseau à haut débit "NUMERIS" de France Télécom, à raison de 64 Kbits/seconde, nécessite environ 30 minutes. Le coût de l'archivage des images numériques peut vite devenir exorbitant. Actuellement, un hôpital de 900 lits produit 35000 millions d'octets (35 Giga-octets) d'images numériques par jour ; ces informations doivent être stockées pendant une durée de 3 à 30 ans suivant la nature de la maladie. Cette quantité énorme de données "images" nécessite une compression pour leur transmission dans les différents services hospitaliers et leur archivage à moyen et long terme. Ces quelques exemples montrent l'impérieuse nécessité de réduire la quantité d'information à stocker et à transmettre par des techniques de compression des images numériques. Les domaines d'applications de la compression des images sont l'informatique multimédia, les télécommunications terrestres ou par satellites, la future télévision numérique haute définition, la médecine,... La quantité d'information moyenne par pixel contenue dans l'image est mesurée par l'entropie. L'entropie croît avec la complexité de l'image (détails fins à structure irrégulière). Une image codée sur 8 bits par pixel qui a une entropie de 4 bits/pixel peut, théoriquement, être codée sans perte d'information avec un taux de compression de 2. La compression par codage élimine les redondances dans l'image originale. Seul les procédés de compression, avec perte contrôlée d'information, permettent des taux de compression supérieurs à 2 ou 3. La perte de détails non perceptibles (ou peu perceptibles) par l'oeil conduit à des taux de compression de 8 à 32. Les techniques de compression peuvent être classées en deux catégories : celles qui compriment au niveau "pixel" et celles qui compriment l'image convenablement "transformée" par une opération mathématique qui permet d'obtenir des coefficients qui traduisent l'énergie de l'image en fonction des fréquences spatiales, c'est-à-dire de la finesse des détails. Cette seconde catégorie de méthodes a donné naissance à une recommandation dite JPEG "Joint Photographic Expert Group" et à une normalisation de la compression (ISO, CCITT) basée sur la transformation cosinus discrète (TCD). A titre de références bibliographiques, on peut ici citer M. Rabbani, P.W. Jones "Digital Image Compression Techniques", SPIE, Donald C. O'Shea, Series Editor, U.S.A., 1991, et W.B. Pennebaker, J.L. Mitchell "JPEG Still Image Data Compression Standard", Van Nostrand Reinhold, New York, 1993. Dans la proposition JPEG il existe également une possibilité de comprimer les images sans perte d'information au niveau "pixel" par codage de la différence des niveaux de gris des pixels dans un voisinage. Des circuits intégrés permettent la mise en oeuvre à une cadence de 15 Mpixels/seconde. Au cours des dernières décennies, les travaux de recherche en codage d'images ont montré que la quantification vectorielle est une méthode puissante, donnant de très bons résultats et ouvrant un champ d'évolution important. Il peut ici être fait référence aux publications suivantes - R.M. Gray, "Vector Quantization", IEEE ASSP Mag., PP. 4-29, Avril 1984. - C.E. Shannon, "A mathematical theory of communication", Bell Syst. Tech. J., 27 : pages 379-423, 1948. - C.E. Shannon, "Coding theorems for a discrete source with a fidelity criterion", In IRE National Convention Record, Part 4, PP. 142-163, 1959. Le procédé le plus simple utilisant la quantification vectorielle, désigné de façon abrégée par SVQ (Standard Vector Quantization), consiste à quantifier les pixels par blocs, ou vecteurs, par exemple de 4 x 4 pixels. La quantification consiste à chercher dans un catalogue prédéfini le vecteur le plus proche au sens d'un critère de distorsion minimale et seul le numéro du vecteur retenu est transmis. Le décodeur est constitué uniquement d'une mémoire, qui contient le catalogue. La reconstruction de l'image est effectuée par la simple lecture du vecteur du catalogue, dit vecteur prototype correspondant au numéro transmis. C'est l'avantage majeur de cette technique. Des taux de compression élevés sont ainsi obtenus avec des catalogues de faible taille. Si l'image originale est codée sur 8 bits par pixel, soit 256 niveaux de gris et si le catalogue contient 256 (28) vecteurs prototypes de 16 pixels (composantes), alors l'image comprimée est codée sur 0,5 bit par pixel, c'est-à-dire avec un taux de compression de 16. Pour générer le catalogue, on cherche à constituer un ensemble de m vecteurs qui soient les plus adaptés à un certain type d'images ou à un ensemble d'images variées, afin que ce catalogue permette la compression de ces images avec une distorsion minimale. On peut remarquer ici qu'une particularité de la quantification vectorielle par rapport à d'autres méthodes de compression est de permettre une adaptation à une classe d'image à comprimer grâce au catalogue. Partant de cet état de la technique, l'invention se propose de fournir un procédé de compression d'images faisant appel à une simplification du principe général de la quantification vectorielle, ainsi qu'un dispositif de compression d'images mettant en oeuvre ce procédé, qui débouche sur une structure électronique simplifiée, réalisable par un seul circuit intégré. A cet effet, l'invention a essentiellement pour objet un procédé pour la compression d'images en temps réel, par quantification vectorielle, dans lequel - l'image à comprimer est décomposée en blocs, ou vecteurs, regroupant chacun un nombre prédéterminé de pixels, - dans chaque bloc, tous les pixels de la portion d'image correspondante sont codés, en ce qui concerne leurs niveaux de gris, sous forme de valeurs numériques formant les composantes du vecteur à coder, - un catalogue de vecteurs prototypes, comprenant chacun autant de composantes qu'un vecteur à coder, est préétabli, - on détermine les valeurs absolues des écarts entre les composantes correspondantes du vecteur à coder et celles de chaque vecteur prototype, puis la somme de ces valeurs absolues qui représente la distance rectilinéaire entre le vecteur à coder et chaque vecteur prototype, - on détermine, par comparaison, le vecteur prototype pour lequel la distance rectilinéaire ci-dessus définie est la plus petite, et - on stocke et/ou transmet, en tant que représentation du bloc ou vecteur à coder, un numéro ou une adresse désignant le vecteur prototype pour lequel ladite distance a été déterminée comme étant la plus petite. Le critère de compression retenu par l'invention est défini par la somme des valeurs absolues des écarts entre les composantes du vecteur à coder (bloc de l'image originale à comprimer) et les composantes d'un vecteur prototype, somme qui est désignée par distance rectilinéaire ou "distance de Manhattan". Cette définition peut être illustrée par l'exemple simplifié suivant, en considérant des vecteurs X et Y à deux composantes, soit X = (xl, x2) Y = (yl, y2) La distance habituellement considérée comme représentative est la distance quadratique D, définie par la relation D = (xl - yl)2 + (X2 - y2) 2 La distance rectilinéaire ou de Manhattan d est définie par la relation d = Ixl - yll + Ix2 - y21 Il a été vérifié expérimentalement que la qualité de l'image décomprimée et reconstituée, en utilisant selon le procédé de l'invention le critère de la distance rectilinéaire ou de Manhattan, est très voisine de celle obtenue avec le critère traditionnel de la distance quadratique. Le choix du critère de la distance recilinéaire, obtenue par de simples opérations de sommation, au lieu de la distance quadratique, permet de s'affranchir de l'utilisation de multiplieurs, qui dans les circuits électroniques, notamment les circuits intégrés, sont des éléments coûteux en surface de silicium et en temps de calcul. Ceci explique déjà que l'invention permet une simplification de la structure et du fonctionnement du dispositif de compression d'images par quantification vectorielle, pratiquement sans nuire à la qualité des images reconstituées, pour un taux de compression donné. D'autres particularités du procédé ou du mode opératoire contribuent à la simplification constructive, à la réduction des coûts et à l'augmentation de la vitesse de traitement - Les composantes correspondant aux niveaux de gris des pixels entrant dans le circuit "en série", du bit de poids le plus faible vers le bit de poids le plus fort, on utilise l'ordre naturel des bits dans un numériseur ; l'ordre de grandeur du débit d'entrée peut être fixé à 15 Mpixels par seconde, afin de s'intégrer dans la lignée des circuits existants tout en restant dans un domaine de faisabilité acceptable. - Seul un "parallélisme" massif des calculs peut satisfaire l'exigence de vitesse. Cependant, pour limiter le coût en silicium, il est proposé d'effectuer un traitement original avec une arithmétique "bit-série pipeline" (voir à ce sujet : P. Quinton, Y. Robert "Algorithmes et architectures systoliques", Masson, 1989) et un fort parallélisme du niveau du calcul des distances. - La génération progressive du numéro (adresse) du vecteur prototype, le plus proche du vecteur à coder, permet de minimiser la surface de silicium et de maximiser la vitesse de calcul. - Le catalogue de vecteurs prototypes est téléchargé en début de session. Ceci permet une grande souplesse d'adaptation du catalogue à la classe d'image à comprimer. Les vecteurs du catalogue entrent dans le circuit par la même voie que les vecteurs à coder, ce qui simplifie le fonctionnement et la structure électronique. Compte tenu de la conjugaison de tous ces éléments, le procédé de compression d'images par quantification vectorielle selon l'invention peut être mis en oeuvre par un dispositif réalisé de façon compacte, sous la forme d'un seul circuit intégré spécialisé. Plus particulièrement, le dispositif de compression d'images par quantification vectorielle selon l'invention, mettant en oeuvre le procédé ci-dessus défini, comprend essentiellement en combinaison - une horloge interne ou externe, - un séquenceur, - un circuit tampon d'entrée, pour l'acquisition de chaque vecteur à coder, ainsi que pour le téléchargement du catalogue des vecteurs prototypes, et - un circuit de calcul et de comparaison des distances, comprenant au moins un module de calcul de la distance rectilinéaire entre le vecteur à coder et des vecteurs prototypes du catalogue, ainsi qu'un ensemble de comparateurs permettant de déterminer le vecteur prototype pour lequel la distance rectilinéaire est minimale, et de délivrer le numéro ou l'adresse du vecteur prototype pour lequel la distance a été déterminée comme étant minimale. Le circuit tampon d'entrée, assurant la mise en forme de l'image en vue de son traitement, est réalisable à base de bascules de type "D", et comprend avantageusement deux zones liées par l'intermédiaire d'un multiplexeur, dont la première, constituant le tampon d'entrée proprement dit, reçoit les composantes du prochain vecteur à coder, tandis que la seconde zone est un ensemble de registres d'entrée contenant les composantes du vecteur en cours de traitement, ces données entrant en parallèle" et sortant "en série". Quant au circuit de calcul et de comparaison des distances, celui-ci comprend, dans un mode de réalisation préféré de l'invention, une pluralité de modules de calcul fonctionnant en parallèle, chaque module de calcul traitant un groupe prédéterminé de vecteurs prototypes et comportant, lui-même, des blocs de calcul fonctionnant en parallèle, en même nombre que les composantes du vecteur à coder, et comportant chacun un différenciateur et une cellule fournissant la valeur absolue de la différence obtenue par le différenciateur, chaque module de calcul comprenant encore un module de sommation des valeurs absolues fournies par les cellules des différents blocs de calcul précités, et délivrant à l'ensemble de comparateurs les valeurs calculées représentant les distances rectilinéaires entre le vecteur à coder et les différents vecteurs prototypes affectés à ce module de calcul. Ainsi, dans la configuration particulière ici proposée, la détermination des distances rectilinéaires se fait par groupes de vecteurs prototypes, affectés à des modules de calcul fonctionnant en parallèle. Bien entendu, il convient de regrouper et comparer les résultats de tous les modules de calcul, pour déterminer la plus petite distance rectilinéaire vis-à-vis de l'ensemble des vecteurs prototypes. A cet effet, dans un mode d'exécution particulier, l'ensemble de comparateurs comprend, d'une part, des modules de comparaison prévus en sortie des différents modules de calcul, qui déterminent la plus courte distance rectilinéaire vis-à-vis du groupe de vecteurs prototypes traités dans chaque module de calcul, et d'autre part, au moins une arborescence de comparateurs réalisant une comparaison entre les résultats des différents modules de comparaison précités, associés respectivement aux modules de calcul ; la structure en arborescence minimise la complexité de la réalisation électronique, pour les différentes étapes de la comparaison, et elle délivre finalement le numéro ou l'adresse du vecteur prototype, parmi tous les vecteurs prototypes du catalogue, pour lequel la distance rectilinéaire est la plus petite. Ainsi l'on obtient finalement, pour chaque bloc de l'image à comprimer, le vecteur du catalogue le plus représentatif de ce bloc, au sens d'un critère de distorsion minimale. Si la distance rectilinéaire minimale est obtenue pour deux ou plusieurs vecteurs, ce qui ne peut être a priori exclu, on choisit par exemple de retenir le numéro (adresse) du dernier vecteur traité. De toute façon, l'invention sera mieux comprise à l'aide de la description qui suit, en référence au dessin schématique annexé représentant, à titre d'exemple non limitatif, une forme de réalisation de ce dispositif pour la compression d'images par quantification vectorielle Figure 1 est un schéma de principe d'un système complet de compression et décompression d'images par quantification vectorielle Figure 2 est un schéma explicatif, avec exemple numérique, donnant la définition d'un vecteur dans le procédé selon l'invention ; Figure 3 est un schéma explicatif, avec exemple numérique, de la détermination des distances rectilinéaires entre un vecteur à coder et plusieurs vecteurs prototypes ; Figure 4 est un schéma synoptique du dispositif de compression d'images conforme à la présente invention ; Figure 5 montre le détail du circuit tampon d'entrée du dispositif de figure 4 Figure 6 montre un module de calcul du dispositif de figure 4 ; Figure 7 illustre le calcul d'une distance rectilinéaire dans le module de calcul ; Figure 8 représente l'arborescence de comparateurs du dispositif selon l'invention, permettant de déterminer la distance rectilinéaire la plus faible par rapport à un ensemble de vecteurs prototypes. Sur le schéma de principe de la figure 1, la partie gauche C correspond à la compression d'images, tandis que la partie droite D correspond à la décompression des images, donc à leur reconstitution. Dans la partie compression C, l'image monochrome à comprimer 1 est décomposée en blocs ou vecteurs 2, de taille m x m soit m2 pixels. Plus particulièrement, dans l'exemple développé plus bas, m est égal à 4 ; en d'autres termes, chaque vecteur 2 comprend 16 pixels. Les vecteurs 2 sont introduits dans le dispositif de compression 3 proprement dit, faisant l'objet de la présente invention. Le dispositif de compression 3 reçoit, par téléchargement symbolisé par une flèche 4, un catalogue de vecteurs prototypes stocké initialement dans une mémoire 5. Le dispositif de compression 3 délivre, à sa sortie, le numéro (ou adresse) N du vecteur prototype dont la distance rectilinéaire (définie ci-après) est minimale par rapport à chaque vecteur 2 à coder de l'image à comprimer 1. Les numéros des vecteurs prototypes, correspondant à tous les vecteurs 2 de l'image à comprimer 1, sont stockés en 6 ou transmis directement. Une ligne de transmission 7 permet de transférer les numéros de vecteurs prototypes, stockés en 6, vers la partie décompression D qui comprend un dispositif de recomposition de l'image 8, recevant lui aussi par téléchargement (flèche 9) les vecteurs prototypes, du même catalogue, stocké dans une mémoire 10. Le dispositif de recomposition 8 fournit ainsi des vecteurs 2', dont l'ensemble forme une image reconstituée 1'. On notera aussi que l'image originale 1 est codée sur n bits par pixel, soit 2" niveaux de gris. Dans les exemples décrits ci-après et illustrés au dessin, n est égal à 8, autrement dit chaque pixel est codé sur 256 niveaux de gris. La figure 2 indique par un exemple numérique comment un bloc 2 de 4 x 4 = 16 pixels permet de définir un vecteur à coder V, formé de 16 composantes correspondant respectivement aux niveaux de gris de tous ces pixels, le vecteur étant écrit sous forme décimale (en bas à gauche) et sous forme binaire (en bas au milieu). Chaque composante du vecteur V écrit sous forme binaire comprend 8 bits formant un octet, qui peuvent être transmis successivement, du bit de poids le plus faible vers le bit de poids le plus fort, au dispositif de compression d'images, selon le principe de l'entrée "en série". En ce qui concerne les vecteurs prototypes, le catalogue contient 2c vecteurs prototypes. Dans les exemples ici considérés, c est égal à 8, autrement dit le catalogue contient 256 vecteurs prototypes, comprenant chacun 16 composantes. La figure 3 indique, à titre d'exemples, trois vecteurs prototypes V1, V2 et V3, écrits sous forme décimale, qui sont comparés à un vecteur à coder V correspondant à un bloc 2 de l'image à comprimer 1. Le critère de compression, ici appliqué, consiste à déterminer la somme des valeurs absolues des écarts entre les composantes respectives du vecteur à coder V et celles des vecteurs prototypes V1,V2,V3... téléchargés en début de session, cette somme étant appelée distance rectilinéaire ou de Manhattan, puis à sélectionner le numéro de vecteur catalogue pour lequel cette distance calculée d est la plus faible. Ceci est illustré de façon simplifiée par la figure 3, en numérotation décimale, dans le cadre d'un exemple numérique. La distance rectilinéaire prend respectivement les valeurs dl = 172, d2 = 38 et d3 = 254, pour les couples de vecteurs (V,V1), (V,V2) et (V,V3). La comparaison des distances dl et d2 conduit à retenir d2 comme distance la plus petite, qui comparée à la troisième distance d3 s'avère la plus faible. La distance retenue sera donc ici d = d2 = 38. Pour le bloc considéré de l'image originale, le dispositif sélectionnera donc, et transmettra, le numéro N (par exemple 7) désignant le vecteur prototype V2 du catalogue, considéré comme le plus représentatif du vecteur à coder V. La génération progressive des numéros de vecteurs prototypes les plus proches des vecteurs à coder V, représentant les différents blocs en lesquels l'image originale 1 est décomposée, permet de comprimer l'ensemble de cette image 1. Le taux de compression se définit ici (avec les notations précédemment définies) par T = (m x m x n)/c, soit T = 16 dans l'exemple numérique ici considéré. Il a pu être vérifié, expérimentalement, que la qualité de l'image reconstituée 1' est très voisine de celle obtenue avec le critère quadratique. En considérant un taux de compression égal à 16 (selon l'exemple précécent), l'erreur est de 2,76 % lorsque l'on utilise le critère classique de la distance quadratique, et de 2,99 % lorsque l'on utilise le critère de la distance rectilinéaire selon l'invention. Cet écart est faible et, en pratique, imperceptible sur l'image reconstituée 1', la légère augmentation de l'erreur étant de toute façon négligeable au regard de la simplification du dispositif de compression d'images et de l'économie obtenue sur la réalisation de ce dispositif, dont la structure sera maintenant décrite en référence aux figures 4 et suivantes. La figure 4 montre, sous forme de schéma synoptique, la configuration générale du dispositif de compression 3, dont les quatre parties principales sont une horloge 11, un séquenceur 12, un circuit tampon d'entrée 13 et un circuit de calcul et comparaison des distances 14. L'horloge 11, interne ou externe, fixe le rythme du fonctionnement interne du dispositif 3. Le séquenceur 12 a pour rôle d'élaborer l'ensemble des signaux de dialogue du dispositif 3 avec l'extérieur, ainsi que des signaux internes nécessaires à la propagation de l'information dans le dispositif 3. Le circuit tampon d'entrée 13 permet l'acquisition du vecteur à coder V, ainsi que le téléchargement des vecteurs prototypes V1, V2, V3,... du catalogue. Le circuit de calcul et de comparaison des distances 14 comprend lui-même un ensemble de modules de calcul 15, et un ensemble de comparateurs (notamment sous la forme d'une arborescence de comparateurs 30 décrite plus bas). Le dispositif 3 considéré comme un tout comprend une entrée 17, associée au circuit tampon d'entrée 13, et une sortie 18, issue de l'ensemble de comparateurs. La figure 5 montre le détail du circuit tampon d'entrée 13, réalisant la mise en forme de l'image en vue de son traitement, circuit qui est composé de huit lignes de seize cellules de mise en série (dans l'ensemble considéré de vecteurs V à seize composantes, correspondant à seize pixels, avec niveaux de gris codés sur huit bits). Une première zone 19 du circuit 13, constituant le tampon d'entrée proprement dit, comprend un ensemble de bascules de type "D" qui reçoit et contient les données propres au prochain vecteur V à traiter. Une seconde zone 20 du circuit 13, appelée registres d'entrées, comprend aussi un ensemble de bascules de type "D" mais contient les données relatives au vecteur V en cours de traitement. Les registres d'entrée 20 contiennent ainsi, sous forme binaire, les niveaux de gris des seize pixels d'un bloc 2, à transmettre par des sorties en série 21 vers le circuit de calcul et de comparaison des distances 14. Les deux zones 19 et 20 du circuit tampon d'entrée 13 travaillent en parallèle et sont liées par l'intermédiaire d'un multiplexeur, dont le rôle est d'orienter le transfert des données dans le sens horizontal, l'entrée du circuit tampon 13 se faisant en parallèle ou dans le sens vertical, tandis que sa sortie se fait en série ou dans le sens horizontal. L'autorisation du transfert des données du tampon d'entrée proprement dit 19 vers les registres d'entrée 20 revient à autoriser le traitement du vecteur V qui se trouve dans ce tampon et, simultanément, à donner l'ordre de l'acquisition d'un nouveau vecteur V dans le tampon d'entrée 19. Le circuit de calcul et de comparaison des distances 14 est ici chargé de calculer les distances rectilinéaires dl,d2,d3... entre chaque vecteur V à traiter et les vecteurs prototypes du catalogue V1,V2,V3..., puis de déterminer celle des distances calculées qui est la distance minimale d, et enfin de délivrer le numéro N du vecteur prototype qui correspond à cette distance minimale cherchée. Trente-deux modules de calcul 15 fonctionnent ici en parallèle, et permettent de réaliser la comparaison avec les 256 vecteurs prototypes du catalogue, chaque module 15 assurant la comparaison entre le vecteur V et huit vecteurs prototypes prédéterminés. La figure 6 montre un module de calcul 15, auquel sont donc associés huit vecteurs prototypes V1 à V8 du catalogue, chaque vecteur prototype possédant lui-même seize composantes qui sont ici des octets Cl,C2,...C16. Le module de calcul 15, devant calculer la plus petite distance entre le vecteur à coder V (dont les composantes notées Al,A2,....A16 sont aussi des octets), utilise seize blocs identiques 22 en parallèle, qui calculent pour chaque octet une distance élémentaire, exprimée en valeur absolue - voir aussi figure 7. Autrement dit, les blocs 22 traitent les seize composantes A1,A2,...A16 du vecteur à coder V, en déterminant respectivement les différences A1-C1, A2-C2,....A16-C16, puis les valeurs absolues respectives IA1-C11, IA2-C21,...IA16-C161. Le module de calcul 15 reçoit dans un premier temps, par téléchargement, les composantes de même indice de chacun des huit vecteurs prototypes V1 à V8 du catalogue qui lui sont attribués. Il est à noter que les vecteurs du catalogue sont entrés en logique complémentée (code du complément à 1). Ainsi les différences sont obtenues par de simples additions : Al + C1 + 1, A2 + C2 + 1,.... Les huit bits des composantes de ces vecteurs prototypes sont conservés dans un registre à décalage à 64 bits, pour être disponibles lors de la suite du processus. Ensuite, les composantes correspondantes du vecteur à coder V sont, à leur tour, entrées dans ce module 15. Dans chaque bloc 22, un différenciateur 23 détermine la différence souhaitée, obtenue par une somme en forçant la première retenue à un. Les résultats issus de cette opération sont stockés dans un registre à décalage 24 de huit bits, avant de passer dans une cellule 25 qui fournit alors la valeur absolue de la différence, toujours sur huit bits. Les valeurs absolues ainsi obtenues sont transférées dans des registres à douze bits 26 (figure 7), avec adjonction de quatre zéros à gauche, pour permettre les opérations de sommation à réaliser par la suite. On obtient finalement, en sortie de chaque bloc 22, huit valeurs absolues de différences codées sur huit bits significatifs, représentant les distances élémentaires de la composante concernée du vecteur à coder V avec les composantes correspondantes des huit vecteurs prototypes V1 à V8 du catalogue. Les seize blocs 22, fonctionnant en parallèle, fournissent les distances élémentaires pour les seize composantes du vecteur V. L'ensemble de ces résultats est ensuite dirigé vers un module de sommation 27, qui sera maintenant décrit. Le module de sommation 27, visible au milieu de la figure 6 et sur la partie droite de la figure 7, traite les résultats de seize blocs 22 en parallèle. Il réalise les huit sommes des seize distances élémentaires, correspondant aux huit distances entre le vecteur à coder V et les huit vecteurs prototypes V1 à V8 téléchargés du catalogue. En revenant à l'exemple de la figure 3, on a à considérer les seize distances élémentaires suivantes 16 - 51 = 1 ; 19 - 81 = 1 ....1125 - 1291 = 4 entre les composantes du vecteur à coder V et celles du vecteur prototype V2, la distance rectilinéaire d2, obtenue par sommation des seize distances élémentaires ainsi déterminées, prenant ici la valeur 38 (tout ceci en numérotation décimale). A la sortie du module de sommation 27, on dispose donc de huit valeurs de distances rectilinéaires dl à d8 calculées entre le vecteur à coder V et les huit vecteurs prototypes V1 à V8 du catalogue, distances qui sont exprimées sous la forme de nombres binaires à douze bits, dans un registre d'attente 28 (figure 7, à droite). La réalisation pratique du module de sommation 27 fait appel à des techniques simples et bien connues de l'homme de métier, si bien qu'elle ne sera pas davantage détaillée. Les distances rectilinéaires dl à d8 calculées par le module de sommation 27 se propagent dans l'ensemble de comparateurs, qui détermine la plus petite de ces distances ainsi que le numéro du vecteur prototype pour lequel cette plus petite distance est obtenue. Dans l'ensemble de comparateurs, on distingue un module de comparaison 29 (figure 6, en bas), qui délivre la distance la plus petite parmi les huit distances rectilinéaires déterminées par un module de calcul 15, et comparaison 29, afin de déterminer finalement la distance la plus faible par rapport à l'ensemble des vecteurs prototypes du catalogue (au nombre de 256 dans l'exemple considéré), ainsi que le numéro du vecteur prototype correspondant à cette distance minimale. Le module de comparaison 29, constitué d'un comparateur série 31 et de registres à décalages 32 et 33, compare, pour chaque vecteur à coder V, les huit distances précédemment obtenues dl à d8. Ces distances sont codées sur douze bits et se propagent en série, le bit de poids faible en tête. Or la comparaison doit commencer par le bit de poids fort (principe de la pesée). L'inversion de l'ordre de propagation des bits est obtenue par le transfert du contenu du registre 28 dans le registre 32. Le registre 33 stocke, à chaque étape de la comparaison, la plus petite distance, résultat de la comparaison du contenu du registre 32 avec le registre 33. Par exemple, à l'étape n, si le contenu du registre 32 est plus petit que celui du registre 33, le registre 33 prendra la valeur du registre 32 pour la prochaine comparaison à l'étape n+l. Dans le cas contraire le contenu du registre 33 restera inchangé. Le registre 33 est initialisé, avant la première comparaison, à une valeur qui correspond à la plus grande distance possible : tous les bits sont au niveau logique 1. A la fin des huit comparaisons le registre 33 contient la plus petite distance parmi les huit. Le contenu de ce registre 33 est alors transféré dans un registre à décalage intermédiaire 34 avant sa propagation en série, bit de poids fort en tête, vers l'arborescence de comparateurs. Le registre accumulateur 34 transmet vers l'arborescence de comparateurs 30 la distance minimale parmi les huit distances dl à d8, cette distance minimale étant déterminée par comparaisons successives dans le comparateur 31, le registre accumulateur 33 retenant à chaque comparaison la distance la plus petite. Parallèlement, un module "adresse" 35, associé à un compteur trois bits 36, fournit à la même arborescence de comparateurs 30 le numéro (ou l'adresse) N, codé sur trois bits, du vecteur prototype correspondant à la distance minimale d précédemment déterminée par comparaison avec huit vecteurs prototypes. Le module "adresse" 35 reçoit une impulsion issue du comparateur 31 chaque fois que la distance minimale est chargée afin de mémoriser le numéro du vecteur prototype qui correspond à une nouvelle distance. Comme l'illustre la figure 8, des données similaires sont fournies seize fois à l'arborescence de comparateurs 30, à partir de seize modules de calcul 15, pour prendre en considération seize distances minimales déterminées vis-à-vis d'autant de groupes de huit vecteurs prototypes, soit 8 x 16 = 128 vecteurs du catalogue. Les comparaisons successives opérées dans l'arborescence de comparateurs 30 permettent de sélectionner la distance la plus petite de toutes, visà-vis de ces 128 vecteurs. La figure 8 illustre le suivi d'une adresse N de vecteur prototype du catalogue, dans l'arborescence de comparateurs 30. Dans chaque étage de comparateurs de cette arborescence 30, l'adresse sur trois bits est complétée à gauche par le chiffre binaire "un" si le vecteur retenu comme correspondant à la plus petite distance vient "de droite" (par référence à la figure 8), et par le chiffre binaire "zéro" si le vecteur retenu comme correspondant à la plus petite distance vient "de gauche" (toujours par référence à cette figure ). Dans la réalisation considérée, il est prévu deux arborescences de comparateurs 30 (figure 8). Un dernier étage de comparaison 37 (figure 4, en bas), combinant les résultats des deux arborecences de comparateurs 30, permet de délivrer sur la sortie 18 le résultat final, c'est-àdire l'adresse N du vecteur prototype correspondant à la distance rectilinéaire la plus courte, parmi les 256 vecteurs du catalogue. Le séquenceur 12 est conçu comme un automate qui élabore, à partir des signaux d'états internes et externes, les signaux de commande qui régissent le fonctionnement interne, mais également ceux destinés aux périphériques de sortie du dispositif de compression 3. En particulier, ce séquenceur 12 commande le téléchargement des vecteurs prototypes du catalogue, et la compression à proprement parler. L'ensemble constitué par le dispositif de compression 3 proprement dit, et par la mémoire interne 5 stockant le catalogue de vecteurs prototypes, peut être réalisé sous la forme d'un seul circuit intégré. En variante, le catalogue de vecteurs prototypes peut être stocké dans une mémoire morte 5 séparée du circuit principal. Alors que la description précédente s'applique à la compression d'images monochromes, il est possible, en associant trois circuits en parallèle, de comprimer les images en couleur, après les avoir décomposées en trois composantes indépendantes, correspondant respectivement aux trois couleurs fondamentales. En effet, la technique de quantification vectorielle est indépendante du standard d'image employé. On notera aussi que les trois composantes d'une image en couleurs peuvent être comprimées les unes après les autres, en n'utilisant qu'un seul dispositif tel que celui précédemment décrit. En associant plusieurs dispositifs de compression et un circuit de classement des vecteurs en fonction de critères préétablis, on peut réaliser une quantification vectorielle "classifiée", plus fine que celle obtenue avec un seul cicuit. En associant deux circuits en série, on peut effectuer la quantification vectorielle de l'erreur de quantification de l'image dans le deuxième étage, ce qui réduit le taux de compression mais augmente la qualité de 1' image reconstituée. On peut associer le dispositif de compression d'images objet de l'invention à des circuits disponibles dans le commerce, qui calculent la transformée cosinus discrète (TCD) d'une image. Le dispositif proposé réalise alors le codage dans le domaine "TCD". On peut aussi associer le dispositif de compression d'images, objet de l'invention, à des filtres de décomposition en sous-bandes ou multirésolution, afin de quantifier les images sous-bandes (multi-résolution) obtenues. Comme il va de soi, et comme il ressort de ce qui précède, l'invention n'est pas limitée à la seule forme de réalisation de ce dispositif pour la compression d'images par quantification vectorielle qui a été décrite cidessus, à titre d'exemple ; elle en embrasse, au contraire, toutes les variantes respectant le même principe. C'est ainsi, notamment, que les composants du circuit et leur agencement peuvent être remplacés par tous moyens et dispositions équivalents, et bien entendu les exemples numériques donnés n'ont aucun caractère limitatif ; ainsi les blocs en lesquels l'image à comprimer est décomposée peuvent être de toute taille, soit des vecteurs de m x n composantes où m et n sont des nombres entiers quelconques égaux ou supérieurs à deux le nombre 2k de niveaux de gris pour le codage de l'image originale peut aussi varier, l'exposant k pouvant notamment être un nombre entier compris entre 1 et 16, et dans le même ordre d'idées, le nombre 2c de vecteurs prototypes du catalogue peut être autre que celui (256) considéré dans l'exemple illustré au dessin. REVENDICATIONS 1. Procédé pour la compression d'images en temps réel, par quantification vectorielle, dans lequel - l'image à comprimer (1) est décomposée en blocs (2), ou vecteurs, regroupant chacun un nombre prédéterminé de pixels, - dans chaque bloc (2), tous les pixels de la portion d'image correspondante sont codés, en ce qui concerne leurs niveaux de gris, sous forme de valeurs numériques (Al, A2,...) formant les composantes du vecteur à coder (V), - un catalogue de vecteurs prototypes (V1, V2,...), comprenant chacun autant de composantes (C1, C2,...) qu'un vecteur à coder (V), est préétabli, - on détermine les valeurs absolues (IA1-C11 IA2-C21, ...) des écarts (A1-C1, A2-C2,...) entre les composantes correspondantes du vecteur à coder (V) et celles de chaque vecteur prototype (V1,V2,...), puis la somme de ces valeurs absolues qui représente la distance rectilinéaire (dl,d2,...) entre le vecteur à coder (V) et chaque vecteur prototype (V1,V2,...), - on détermine, par comparaisons, le vecteur prototype pour lequel la distance rectilinéaire ci-dessus définie est la plus petite (d), et - on stocke et/ou transmet, en tant que représentation du bloc (2) ou vecteur à coder, un numéro ou une adresse (N) désignant le vecteur protoype pour lequel ladite distance a été déterminée comme étant la plus petite (d). 2. Dispositif de compression d'images par quantification vectorielle, mettant en oeuvre le procédé selon la revendication 1, caractérisé en ce qu'il comprend essentiellement en combinaison - une horloge (11) interne ou externe, - un séquenceur (12), - un circuit tampon d'entrée (13) pour l'acquisition de chaque vecteur à coder (V), ainsi que pour le téléchargement (4) du catalogue des vecteurs prototypes (V1,V2,...), et - un circuit de calcul et de comparaison des distances (14), comprenant au moins un module de calcul (15) de la distance rectilinéaire (dl,d2,...) entre le vecteur à coder (V) et des vecteurs prototypes (V1,V2,...) du catalogue, ainsi qu'un ensemble de comparateurs (29,30,37) permettant de déterminer le vecteur prototype pour lequel la distance rectilinéaire est minimale, et de délivrer le numéro ou l'adresse (N) du vecteur prototype pour lequel la distance a été déterminée comme étant minimale. 3. Dispositif de compression d'images par quantification vectorielle selon la revendication 2, caractérisé en ce que les vecteurs prototypes (V1,V2,...) du catalogue entrent dans le circuit tampon d'entrée (13) par la même voie (17) que les vecteurs à coder (V). 4. Dispositif de compression d'images par quantification vectorielle selon la revendication 2 ou 3, caractérisé en ce que le circuit tampon d'entrée (13), réalisé à base de bascules de type "D", comprend deux zones (19,20) liées par l'intermédiaire d'un multiplexeur, dont la première (19), constituant le tampon d'entrée proprement dit, reçoit les composantes du prochain vecteur à coder (V), tandis que la seconde zone (20) est un ensemble de registres d'entrée contenant les composantes du vecteur en cours de traitement, ces données entrant "en parallèle" (en 17) et sortant "en série" (en 21). 5. Dispositif de compression d'images par quantification vectorielle selon l'une quelconque des revendications 2 à 4, caractérisé en ce que le circuit de calcul et de comparaison des distances (14) comprend une pluralité de modules de calcul (15) fonctionnant en parallèle, chaque module de calcul (15) traitant un groupe prédéterminé de vecteurs prototypes (V1,V2,...) et comportant, lui-même, des blocs de calcul (22) fonctionnant en parallèle, en même nombre que les composantes (A1,A2,...) du vecteur à coder (V), et comportant chacun un différenciateur (23) et une cellule (25) fournissant la valeur absolue de la différence obtenue par le différenciateur (23), chaque module de calcul (15) comprenant encore un module de sommation (27) des valeurs absolues fournies par les cellules (25) des différents blocs de calcul (22) précités, et délivrant à l'ensemble de comparateurs (29,30,37) les valeurs calculées représentant les distances rectilinaires (dl,d2,...) entre le vecteur à coder (V) et les différents vecteurs prototypes (V1,V2,...) affectés à ce module de calcul. 6. Dispositif de compression d'images par quantification vectorielle selon la revendication 6, caractérisé en ce que l'ensemble de comparateurs comprend, d'une part, des modules de comparaison (29) prévus en sortie des différents modules de calcul (15), qui déterminent la plus courte distance rectilinéaire (d) visà-vis du groupe de vecteurs prototypes (V1,V2,...) traités dans chaque module de calcul (15), et d'autre part, au moins une arborescence de comparateurs (30) réalisant une comparaison entre les résultats des différents modules de comparaison (29) précités, associés respectivement aux modules de calcul (15), en délivrant le numéro ou l'adresse (N) du vecteur prototype parmi tous les vecteurs prototypes du catalogue, pour lequel la distance rectilinéaire est la plus petite 7. Dispositif de compression d'images par quantification vectorielle selon l'une quelconque des revendications 2 à 6, caractérisé en ce que ce dispositif (3) est réalisé sous la forme d'un seul circuit intégré.