Brevet FR2541013A1 — publié le 19840817

L'invention concerne un appareil de compression de données conçu pour être utilisé dans un fichier électro- nique d'images ou autre, et elle a trait plus particulière- ment à un appareil destiné à produire des do-nnées comprimées par l'application d'un processus de compression, d'une logique déterminée, à des données d'entrée. On connaît déjà une technologie pour la compres- sion ou condensation de données numériques binaires très redondantes, telles que des signaux numériques d'images lus sur un objet, conformément à une logique déterminée. Cette technologie de compression ou de condensation est utilisée pour réduire la quantité de données et raccourcir le temps de transmission, par exemple dans un appareil dit de télécopie utilisé pour transmettre les images par une ligne téléphonique. On a également proposé récemment des fichiers électroniques d'images utilisant des disques à laser ou des disques magnétiques, capables de stocker une grande quantité de données d'images, et l'utilisation d'une telle technologie de compression dans un tel appareil permet d'accroître effectivement la capacité de stockage de ces supports de mémoire. Parmi les procédés de compression de données particulièrement bien connus, on trouve le procédé Huffman modifié (procédé M-H) dans lequel les données d'une image d'un original sont converties en codes Huffman modifiés (codes M-H) conformément à la mesure du nombre de signaux blancs ou noirs consécutifs présents dans les données de l'image de l'original, ou de la longueur dite de passage. Ces codes M-H ont une longueur variable comprise entre 2 bits et 13 bits suivant la longueur de passage. Par conséquent, il n'est pas aisé de stocker ces codes M-H dans l'unité de multiplets combinés ou de mots. Dans l'appareil de télécopie précité, dans lequel le balayage effectué pour la lecture de l'image de l'ori- ginal ne doit pas être très rapide et les opérations mécani- ques effectuées pour le balayage de l'original peuvent être conduites par intermittence, l'établissement de codes M-H s'effectue classiquement à une faible vitesse, par exemple à l'aide d'un micro-ordinateur, et le balayage d'une ligne ne commence qu'au moment o apparaît le signal de compres- sion ou de transmission d'une ligne précédente. Cependant, le traitement et la transmission de données à grande vitesse sont devenus récemment souhaitables dans le fichier électronique d'images ou autre, et cette demande exige une lecture de l'original et un traitement des données M-1 H à grande vitesse et en temps réel Les procédés classiques de traitement de données ne sont cependant pas capables de satisfaire totalement ces demandes et constituent donc un goulot s'opposant à l'exécution d'un traitement à grande vitesse dans l'appareil. Compte tenu'de ce qui précède, l'invention a pour objet un appareil de traitement de données capable de traiter et de transmettre des données à une vitesse suffisamment élevée pour satisfaire les exigences des fichiers électroniques d'images ou autres. L'invention-a pour autre objet un appareil de traitement de données capable de former des données d'une longueur utile déterminée par traitement de données de longueur variable. L'invention a également pour objet un appareil de traitement de données capable de comprimer des données enztemps réel. L'invention a pour autre objet un appareil de traitement de données capable de soumettre à un traitement pipeline des données lues sur un objet. L'invention a également pour objet un appareil de traitement de données permettant la lecture continue et à grande vitesse d'un original quel que soit l'état de l'opération de traitement de données comprimées. L'invention sera décrite plus en détail en regard des dessins annexés à titre d'exemple nullement limitatif et sur lesquels: la figure 1 est un schéma simplifié d'une forme de réalisation de l'invention appliquée à un appareil de lecture d'originaux; les figures 2 A et 2 B représentent un schéma détaillé d'un exemple du circuit 20 de compression de données montré sur la figure 1; les figures 3 A et 3 B sont des diagrammes montrant la'relation entre les données d'entrée et de sortie; et la figure 4 est un diagramme des temps montrant le fonctionnement du circuit représenté sur la figure 2. La figure 1 représente une forme de réalisation de l'invention appliquée à un appareil de lecture d'images d'originaux destiné à être utilisé dans un fichier élec- tronique d'images, appareil dans lequel un document original est éclairé par une source de lumière non représentée et la lumière réfléchie est focalisée par une lentille 11 sur un capteur 12 d'images constitué d'un dispositif à is couplage de charge Le capteur 12 d'images comprend un ensemble de plusieurs éléments convertisseurs photo- électriques agencés dans la direction transversale de l'original, et il émet des signaux électriques en série dépendant de la quantité de lumière incidente pour chaque ligne de balayage Le capteur 12 d'images et l'original sont déplacés l'un par rapport à l'autre à une vitesse déterminée et d'une manière continue, dans une direction sensiblement perpendiculaire à la direction du balayage, au moyen d'un mécanisme d'entraînement non représenté De cette manière, le capteur 12 d'images effectue une lecture photo-électrique de toute la surface de l'original 10 pour produire des signaux électriques correspondant à la densité d'image de l'original 10. Les signaux de sortie du capteur 12 d'images sont amplifiés par un amplificateur 13, puis convertis, par un convertisseur analogiquenumérique 14, en signaux binaires d'image représentant des niveaux de blanc et de noir, conformément à une fréquence d'échantillonnage convenable. Ces signaux binaires provenant du convertisseur analogique/ numérique 14 sont transmis à un circuit 20 de compression de données qui compte, au moyen d'un compteur 21 de longueur de passage, les nombres successifs de signaux de blanc et de noir, respectivement Un codeur M-H 22, recevant ces comptes et un signal indiquant un niveau de blanc ou de noir, fournit un circuit 23 d'enregistrement à un code M-H 25 et un signal 24 indiquant la longueur de ce code M-H Le circuit 23 d'enregistrement ou de conditionnement forme et libère successivement des données d'une longueur utile déterminée, par exemple 8 bits, en combinant des codes M-H 25 de longueur variable à l'aide du signal 24 de longueur-de code Les données émises les unes à la - suite des autres par le circuit 20 de compression de don- nées sont transmises, par l'intermédiaire d'une mémoire tampon 15, sous la forme de signaux continus de sortie en série qui sont utilisés pour l'enregistrement dans un fichier de données tel qu'un disque optique ou pour la transmission vers un lieu éloigné, par l'intermédiaire d'une ligne téléphonique Il est ainsi rendu possible d'enregistrer des données à grande vitesse sur un disque de faible capacité ou-de réduire le temps de transmission. Les figures 2 A et 2 B représentent un exemple du circuit de compression de données de la figure 1, ce circuit étant conçu pour convertir les données d'image d'original en série en codes Huffman modifiés, de longueur variable, et pour conditionner ou condenser lesdits codes en données d'une longueur utile déterminée d'un multiplet, destinées à être fournies à un fichier électrique d'images ou autre. Des données numériques binaires VIDEO, obtenues par lecture d'un original et indiquant sa densité d'image, sont transmises à un compteur 21 de longueur de passage, ce compteur étant destiné à déterminer les longueurs de passages ou passes, ou les nombres de signaux consécutifs de blanc et de noir Dans le même temps, la discrimination est établie entre les signaux d'entrée, soumis au comptage de longueur de passage, indiquant un niveau de blanc ou un niveau de noir Le signal RL de longueur de passage ainsi obtenu et un signal TS indiquant le niveau de blanc ou de noir sont appliqués à des lignes d'adresses d'un codeur M-H 22 composé d'une mémoire morte stockant une table de conversion Huffman modifiée Le codeur M-H 22 254 1013 convertit lesdites données RL et le signal TS en codes M-H de 13 bits au maximum et il produit un signal de 4 bits indiquant la longueur utile de ces codes, les deux opéra- tions s'effectuant en parallèle A titre d'exemple, dans le cas d'un code M-H " 0011 ", le convertisseur M-H produit un code M-H MC " 0011 XXXXXXXXX" (X étant arbitraire) et un signal de longueur de code LC " 0100 " ( 4). Les codes MC et les signaux LC de longueur utile de code produits de la manière décrite ci-dessus sont appliqués en parallèle au circuit 23 de compression et enregistrés dans une mémoire tampon 31 premier entré, premier sorti (FIFO). Les opérations décrites ci-dessus, effectuées par le compteur 21 de longueur de passage, le codeur M-H 22 et la mémoire tampon 31, sont conduites en temps réel, en synchronisme avec les signaux i d'horloge de transfert pour la donnée VIDEO d'image de l'original, par exemple simultanément à la lecture de l'image à une vitesse cons- tante. Ensuite, les codes MC et les signaux LC de lon- gueur utile de code sont extraits de la mémoire tampon 31 pour permettre une manipulation de bits pour la combinai- son des codes M-H La vitesse à laquelle le signal est extrait de la mémoire tampon 31 et à laquelle la manipula- tion de bits a lieu est choisie de façon à être égale ou supérieure au double de la vitesse de transfert des données d'images de l'original, et, dans la forme de réalisation décrite, elle est choisie de façon à être égale au double, ou à 2 e, compte tenu d'un accroissement de la quantité de données dans la conversion M-H Une vitesse excessivement élevée n'est cependant pas nécessaire, car l'approvision- nement en données risque de ne plus pouvoir suivre le traitement des données. Le code MC de 13 bits parallèles au maximum sortant de la mémoire tampon 31 est transféré successive- ment d'un registre B ( 32) de 13 bits à un registre C ( 33) de 8 bits et est donc comprimé finalement à 1 octet ou 8 bits. Ce code MC doit être soumis à un processus de combinaison de bits car il possède une longueur variable correspondant à la longueur de passage ou d'exécution Ce processus de combinaison de bits est conduit dans un multiplexeur P 34 1/8 (MPXP) et dans un autre multiplexeur Q 35 1/8 (MPXQ) Sur la figure 2 B, les symboles "X" des accès d'entrée du multiplexeur P ( 34) indiquent des accès inutilisés. Le multiplexeur Q ( 35) est utilisé pour produire les bits inférieurs d'un code M-H MC mémorisé dans le registre C ( 33) par condensation des bits supérieurs d'un code M-H-MC suivant mémorisé dans le registre B ( 32). Le multiplexeur P ( 34) est utilisé pour décaler les signaux se trouvant dans le registre B ( 32) vers les bits supérieurs, le décalage correspondant au nombre de bits transférés du registre B ( 32) vers le registre C ( 33), puis pour transférer lesdits signaux vers ledit registre C ( 32) Les signaux-LC de longueur utile de code sont transmis par l'intermédiaire d'un multiplexeur 40 à un registre X ( 36) de comptage et ils sont cumulés par un circuit additionneur 38 et un registre de comptage Y ( 38). Le résultat de cette addition indique le nombre de bits enregistrés dans le registre C ( 33). Un signal SLC indiquant le contenu du registre de comptage Y ( 38) informe le multiplexeur Q ( 35) des positions des bits inférieurs dans le registre C ( 33), o les données doivent être transférées depuis le registre B ( 32). Etant donné que le registre C ( 33) possède une capacité limitée qui est de 8 bits dans la forme de réali- sation décrite, les bits de données stockés dans le registre B ( 32) ne peuvent pas être entièrement transférés Dans ce cas, le débordement, ou les bits restants, reste dans le registre B ( 32) Le nombre de ces bits restants est calculé dans un circuit 39 de soustraction recevant le contenu du registre de comptage X ( 36) et le contenu d'un circuit 41 de soustraction, et il est de nouveau introduit dans le registre de comptage X ( 36) par l'intermédiaire d'un multi- plexeur 40 qui est actionné sélectivement par un signal de débordement OF produit par le circuit additionneur 37 en réponse à un ordre d'exécution ou au bit de poids fort. De cette manière, on atteint le même état que celui obtenu lorsque les données sont de nouveau transmises de la mémoire tampon 31 au registre B ( 32). Dans ce cas également, les bits de données res- tants dans le registre B ( 32) doivent être décalés vers les bits supérieurs du nombre de bits transférés vers le registre C ( 33) Le nombre de bits transférés vers le registre C ( 33) est calculé par le circuit 41 de soustrac- tion qui reçoit le nombre de bits utiles ( 8 bits) et le contenu du registre de comptage Y ( 38), et le résultat de la soustraction est utilisé comme signal de sélection SLB pour actionner le multiplexeur P ( 34) qui est validé par le signal de débordement OF, de manière à décaler les bits de données restants dans le registre B ( 32) vers les bits supérieurs - Le multiplexeur P ( 34) est validé uniquement pendant le débordement du registre C ( 33) Par conséquent, en l'absence de ce débordement, les données de code MC- sont simplement transférées de la mémoire tampon 31 vers le registre B ( 32), puis décalées par le multiplexeur Q ( 35) et transférées vers le registre C ( 33). En réponse à un débordement du registre C ( 33), l'extraction des données de code de la mémoire tampon 31 est interrompue par un signal OF qui est l'inverse du signal de débordement OF, mais l'opération de combinaison de bits se poursuit Ainsi, une partie des bits de données se trouvant dans le registre B ( 32) est condensée dans les positions de bits inférieurs du registre C ( 33), tandis que les bits restants dans le registre B ( 32) sont décalés vers le haut par'le multiplexeur P ( 34), de manière que le registre C ( 33) soit totalement rempli des données d'un octet La valeur cumulée dans le registre de comptage Y ( 38) est effacée par le signal de débordement OF, car le registre C ( 33), à l'état vide, commence, après le débor- dement, une nouvelle mémorisation de données. La mémioire tampon 31 émet un signal indiquant un tampon "vide" lorsque l'opération de combinaison de bits dépasse l'approvisionnement en données d'images. Dans ce cas, l'opération de combinaison de bits est in- tefrompue momentanément. La figure 3 A montre la relation des signaux d'entrée et de sortie du multiplexeur P ( 34) et du registre B ( 32), tandis que la figure 3 B montre la même relation des signaux d'entrée et de sortie du multiplexeur Q ( 35) et du registre C ( 33) La figure 4 représente également un diagramme des temps du fonctionnement de la mémoire tampon, 31, du registre B ( 32) et du registre C ( 33). Comme montré sur ces figures, des données de code mémorisées dans la mémoire tampon 31 sont soumises successivement à la condensation de données dans le registre C ( 33) et au décalage de données et à une récep- tion dans le-registre B ( 32), le décalage de données étant évidemment omis en l'absence de bits restants dans le registre B ( 32) L'utilisation d'une vitesse doublée pour l'opération de condensation et de décalage, en comparaison à la vitesse de transfert i des données d'images de l'original, permet un traitement en temps réel à grande vitesse évitant une lecture intermittente de l'original et faisant face suffisamment à l'expansion de données dans la conversion M-H. Comme indiqué précédemment, les codes M-H de longueur variable émis successivement par le codeur M-H 22 sont appliqués à la mémoire tampon 31 et ils sont manipulés sous forme de données parallèles, lors du trai- tement de données suivant, afin de réduire le temps demandé pour la combinaison de bits On rend ainsi pos- sible une compression du signal d'entrée sans restriction de l'opération de lecture de l'image, d'une façon corres- pondant à la vitesse de traitement du signal L'opération de lecture de l'image de l'original n'a donc pas à être conduite de façon intermittente, mais elle peut être effec- tuée à une vitesse élevée et d'une manière continue. Dans la forme de réalisation décrite précédemment, les données des codes M-H sont condensées en une unité d'un octet, mais cette condensation peut être effectuée en une unité d'un mot ou de plusieurs multiplets conformément à la spécification d'un appareil utilisé en aval tel que le fichier électronique d'images, ou conformément à la spéci- fication d'une transmission de données Dans ce cas, les multiplexeurs doivent être modifiés convenablement en fonction de l'unité de cette condensation, mais le pro- cessus de condensation de bits suivi par le multiplexeur Q ( 35) et le processus de décalage suivi par le multiplexeur P ( 34) peuvent être obtenus dans une structure similaire. De plus, la vitesse de traitement de données peut être choisie de façon à être supérieure au double de la vitesse de transfert de données. Les données soumises à cette condensation ne sont pas limitées aux codes M-H obtenus à partir des don- nées d'images, mais elles comprennent d'autres données de longueur variable pouvant être obtenues à partir de. divers dispositifs d'émission de données, par exemple des données comprimées par d'autres logiques de compression ou des données extraites de mémoires à semiconducteur ou de mémoires magnétiques et converties conformément à une logique déterminée. Comme expliqué précédemment, la présente inven- tion réalise un traitement de données à grande vitesse par conversion de données d'entrée en série en données parallèles de longueur variable et traitement de ces données parallèles, d'une manière parallèle, empêchant ainsi un accroissement excessif de la fréquence de trai- tement et permettant un traitement en temps réel des signaux d'entrée. De plus, la structure précitée du circuit de traitement des codes M-H émis par le codeur 22 évite la nécessité d'une interruption de la lecture ou du codage du signal dans l'attente de l'achèvement de la condensa- tion ou de la transmission du signal de la ligne précédente. La lecture de l'original et la compression du signal peuvent être conduites d'une manière continue et simultanément au processus suivant de condensation de données Par con- séquent, les signaux d'une ligne suivante peuvent être lus et comprimés sans attendre l'achèvement du traitement des signaux de la ligne précédente. Il va de soi que de nombreuses modifications peuvent être apportées à l'appareil décrit et représenté sans sortir du cadre de l'invention. REVENDICATIONS 1 Appareil de traitement de données, caractérisé en ce qu'il comporte un dispositif ( 20) destiné à convertir des données d'entrée en série en données parallèles, un dispositif ( 23) destiné à former des données continues d'une longueur utile déterminée à partir de données paral- lèles de longueur variable provenant du dispositif de con- version, et un dispositif ( 23) destiné à émettre des don- nées d'une longueur utile déterminée, formées dans ledit dispositif de formation. 2 Appareil de traitement de données selon la revendication 1, caractérisé en ce que le dispositif de conversion est conçu pour comprimer des données d'entrée conformément à une logique déterminée. 3 Appareil de traitement de données selon la revendication 1, caractérisé en ce que les données d'entrée du dispositif de conversion sont des signaux binaires représentant la densité d'une image. 4 Appareil de traitement de données selon la revendication 1, caractérisé en ce que le dispositif de formation travaille à une vitesse supérieure à la vitesse d'arrivée des données au dispositif de conversion. Appareil de traitement de données, caractérisé en ce qu'il comporte un dispositif ( 22) destiné à former des données de code représentant une redondance de signaux binaires, une première mémoire( 31) capable d'enregistrer des données de code d'une longueur maximale devant être émises par le dispositif de formation, une seconde mémoire ( 32, 33) destinée à enregistrer des données de code extraites de la première mémoire et à émettre des données d'une longueur déterminée, et un dispositif ( 38) de com- mande destiné à enregistrer, dans une position déterminée de la seconde mémoire, des données de code enregistrées dans la première mémoire. 6 Appareil de traitement de données selon la revendication 5, caractérisé en ce que le dispositif de formation est conçu pour former des données de code de longueur variable. 7 Appareil de traitement de données selon la revendication 5, caractérisé en ce que le dispositif de commande comprend des moyens permettant de sélectionner des données de code enregistrées dans la première mémoire et de transmettre ces données de code à la seconde mémoire. 8 Appareil de traitement de données selon la revendication 5, caractérisé en ce que le dispositif de commande comprend des moyens destinés à décaler des don- nées de code enregistrées dans la première mémoire. 9 Appareil de traitement de données selon la revendication 5, caractérisé en ce que le dispositif de formation est conçu pour émettre des données de code-en parallèle et la première mémoire est conçue pour rece- voir lesdites données parallèles et pour les émettre en parallèle. Appareil de traitement de données selon la revendication 5, caractérisé en ce que le dispositif de commande est conçu pour effectuer une opération de com- mande en réponse à la longueur des données de code émises par le dispositif de formation. 11 Appareil de traitement de données d'images, caractérisé en ce qu'il comporte un dispositif ( 12) destiné à lire l'image d'un objet ( 10) et à émettre des données - d'images en série de bits, un dispositif ( 22) destiné à coder les données d'images en série pour produire des données de code, et un dispositif ( 20) de formation conti- nue de données destiné à former en continu des données en couplant les données de code respectives provenant du dispositif de codage, la vitesse de la formation continue de données étant supérieure à la vitesse de transmission des données d'images en série. 12 Appareil d'archivage de données d'images, caractérisé en ce qu'il comporte un dispositif ( 12) des- tiné à lire l'image d'un objet ( 10) et à émettre des don- nées d'images, un dispositif ( 22) destiné à coder les données d'images pour produire des données de code, un dispositif ( 20) de formation continue de données destiné à former des données continues en couplant les données de code respectives provenant du dispositif de codage, et un fichier à disques destiné à l'archivage des données continues provenant du dispositif de formation des données continues.