Brevet FR2510279A1 — publié le 19830128

-2510279 La présente invention se rapporte à un processeur rapide de signaux numériques et plus particulièrement, à un processeur du type utilisant une table à consulter pour produire le signal de sortie à partir d'un signal d'entrée tel qu'un signal vidéo. Dans l'art antérieur, on sait utiliser une mémoire morte (ROM) pour le traitement de signaux-numériques à vites- se rapide (Une donnée est préstockée dans les emplacements d'une mémoire morte par exemple, un tracé de masque en cir- cuit imprimé, ou bien en faisant électriquement saiuter des fusibles internes) Comme le montre la figure 1, des signaux numériques, comme un signal vidéo, sont appliqués en parallè- le à une borne d'entrée 10 à 8 bits, et de là à une entrée d'adresse 12 à 8 bits d'une mémoire morte 14 Les signaux vidéo numériques peuvent par exemple provenir d'un conver- tisseur analogique/numérique (non représenté) fonctionnant à une fréquence d'horloge A l'entrée du convertisseur sera appliqué un signal vidéo analogique de façon que le signal vidéo d'entrée soit échantillonné puis quantifié à 8 bits ( 256 niveaux du gris) à la fréquence d'horloge. Le signal d'horloge qui attaque le convertisseur analogiqu 9 numérique (non représenté) est également appliqué à une entrée de lecture 16 de la mémoire morte 14 Pour chaque valeur possible de signal appliqué à l'adresse 12 de la mémoire morte, il y a un emplacement correspondant de mémoire dans la mémoire morte, qui contient la donnée qui peut être lue à une sortie 18 de donnée de la mémoire morte à 8 bits, et de là à une borne de sortie 20 à 8 bits. Typiquement, la ligne 20 aura 8 bits de large pour des appli- cations de télévision, mais peuit avoir d'autres valeurs. Le traitement accompli sur le signal d'entrée- depend de la donnée stockée dans la mémoire morte 14 Par exemple, si la donnée stockée à chaque emplacement de mémoi- re est une valeur représentative de la moitié de l'adresse de cet emplacement, la sortie représentera la moitié de l'entrée et la mémoire 14 fonctionnera comme un atténuateur à 2:1 D'autres fonctions d'amplitude-sont possibles Par exemple, afin d'obtenir la limitation, les stockages de don- nées dans certains emplacements de la mémoire morte sont des valeurs représentant la moitié-de l'adresse de ces empla- cements Cependant, les emplacements dans la mémoire pour des adresses audessus d Une valeurmardculière contirnenttous des données représentant la moitié de cette valeur particulière. Cela peut donner un gain linéaire d'un demi jusqu'à la va- leur limite sans autre augmentation au-delà de cette valeur. D'une façon semblable, des fonctions paliers peuvent être produites en stockant, à chaque emplacement de la mémoire, la donnée-représentant l'adresse de ces emplacements addi- tionnée d'une valeur fixe de décalage Une correction du gamma peut -tre accomplie en établissant les valeurs stockées à chaque emplacement de la mémoire morte selon une fonction gamma exponentielle prédéterminée comme une fonction de racine carrée. Le système elon l'art antérieur ci-dessus décrit présente l'inconvénient que la fonction de transfert est fixée dans la mémoire ROM Par exemple, si l'on utilise trois mémoires mortes identiques, chacune contrôlant le gain, le palier et le gamma de l'un des trois signaux re- présentatifs de la couleur dérivés d'un tube vidicon, il faut que les commandes analogiques précèdent le con- vertisseur analogique/numérique pour standardiser les trois niveaux des signaux entrant dans les mémoires mortes En l'absence d'une telle standardisation, les mémoires mortes ne peuvent être utilisées parce que les fonctions de transzrt ne peuvent être modifiées pour répondre à diverses conditions. Il serait bien entendu possible de changer les mémoires mortes comme cela est décrit dans le brevet U S NO 4 316 219 fi du 16 Février 1982, au nom de Terence Smith et Frank Marlowe intitulé " 1 SYNCHRONIZING CIRCUIT ADAPTABLE FOR VARIOUS TV STANDARDS" Tandis que cela permet de changer les mémoires mortes quand un usage différent est souhaité, cela ne résoud le problème des variations rencontré pendant l'utilisation. Il est par conséquent souhaitable d'avoir un proces- seur de signaux pouvant changer de: fonction de transfert pendant son utilisation. Selon un aspect de l'invention, un dispositif est prévu pour le traitement de signaux, qui comprend une mémoi- re à accès aléatoire (RAM) ayant des bornes d'entrée d'adres- se et produisant, à des bornes de données, des données représentatives du contenu des emplacements d'adresse;(une mémoire à accès aléatoire est une mémoire o les données peuvent être lues et écrites à des emplacements adressés). Une source de signaux de contrôle ou commande; un moyen pour obtenir, de ces signaux de contrôle ou commande, de nouvel- les valeurs de consultation selon un algorithme prédéterminé; et un moyen pour introduire, dans la mémoire à accès aléatoi- re, ces nouvelles valeurs de consultation. L'invention sera mieux comprise, et d'autres buts, caractéristiques, détails et avantages de celle-ci apparat- tront plus clairement au cours de la description explicative qui va suivre faite en référence aux dessins schématiques annexés donnés uniquement à titre d'exemple illustrant plusieurs modes de réalisation de l'invention et dans lesquels: la figure 1 montre un processeur de signaux typique selon l'art antérieur utilisant une ROM; la figure 2 montre un processeur câblé à RAM selon un premier mode de réalisation; la figure 3 montre un second mode de réalisation 25.10279 commandé par microprocesseur;et la figure 4 montre unn Dde de réalisation à plu- sieurs canaux. La ROM 14 de la figure 1 a été rem- placée par une RAM 22 pour permettre le contrôle de la fonc- tion de transfert entre l'entrée de données 10 et la sortie de données 20 pendant l'utilisation Pendant un fonctionne ment normal, un signal vidéo numérique à 8 bits d'un tube de caméra et d'un convertisseur analogique/numérique (non représente par exemple, est appliqué à l'entrée de données et de là, à un pôle A d'un commutateur 24 à 8 bits ( 8 pales, un pour chaque bit de donnée) Une borne O du commu- tateur 24 est reliéeà l'entrée d'adresse 12 de la RAM 22. Un signal d'horloge de donnée est appliqué à l'entrée d'horloge de lecture 16 de la RAM 22 Quand le commutateur 24 est à la position A, la donnée d'entrée 10 est appliquée à l'entrée d'adresse 12 de la RAM 22 Une entrée de comman- de de lecture/écriture 30 de la RAM 22 est reliée à une borne O d'un commutateur 28 Un pôle A du commutateur 28 est relié à la masse Quand le commutateur 28 est à la posi tion A, l'entrée de commande de lecture/écriture 30 est mise à la masse, ce qui met la RAM 22 en mode de lecture Pour chaque valeur de la donnée d'entrée appliquée comme adresse à la RAM 22, il y a un emplacement de mémoire correspondant qui contient la donnée selonune fonction de transfert stoo- kée au préalable La donnée stockée dans l'emplacement de mémoire correspondant à la valeur du signal vidéo appliqué à la borne d'adresse 10, apparait à une borne de donnée 18 de la RAM 22 à chaque impulsion d'horloge La borne de donnée 18 de la RAM 22 est reliée à une borne O d'un com- mutateur à 8 bits 26 Un pôle A du commutateur 26 est relié à la sortie de donnée 20 Quand le commutateur 26 est à la position A, la borne de donnée 18 de la RAM 22 est reliée à la sortie de donnée 20. Les commutateurs 24, 26 et 28 ont tous des entrées de commande C Quand une tension correspondante à "o" logique (masse pour logique transistortransistor) est appliquée à l'entrée de commande, le commutateur prend la position A Quand une tension correspondant à un niveau logique " 1 " (+ 5 volts pour-une logique transistor-transistor) est appliquée à l'entrée de commande, le commutateur prend la position B Bien qu'ils soient représentés comme des commutateurs mécaniques, on notera que les commutateurs 24, 26 et 28 sont des commutateurs électroniques dans le mode de réalisation préféré. La sortie d'une bascule ou flip-flop 44 est reliée aux bornes de commande des commutateurs 24, 26 et 28 Quand la bascule 44 est rétablie, un "o" logique est appliqué aux commutateurs 24, 26 et 28 Dans ce cas, tous les commutateurs prennent la position A, et le dispositif fonctionne comme on l'a décrit ci-dessus. Tant que les contenus de la RAM 22 ne sont pas changés, elle fonctionne précisément comme la ROM 14 de la figure 1, produisant un changement d'amplitude selon la fonc- tion programmée. En supposant qu'un palier ou une fonction de gain du tube de caméra d'un canal particulier change, il peut être souhaitable de changer la programmation, c'est-à-dire la fonction de transfert de la RAM 22 Ces changements deviendront ordinairement apparents tandis que la caméra est en utilisation L'utilisateur n'a pas habituellement la possibilité d'analyser la fonction de transfert souhaitéeet de reprogrammer la RAM En conséquence, la caméra, telle que vendue à l'utilisateur, doit offrir un certain moyen pour l'ajustement de la fonction de transfert De façon idéale, le moyen prévu aura un réglage par l'utilisateur fonction- nant de la même façon que le palier analogique ou la fonc- tion de gain dont l'utilisateur est familier. Selon l'invention, les changements sont amorcés en introduisant de nouvelles valeurs de gain et de palier aux codeurs numériques de position angulaire de gain et de palier 32 et 34 respectivement Les nouvelles valeurs de gain ou de palier sont présentes aux sorties 36 et 38 à 8 bits respectivement, et sont appliquées aux entrées à 8 bits d'un multiplicateur 40 à 8 bits et d'un additionneur 42 à 8 bits respectivement Les codeurs 32 et 34 produisent également, aux sorties 46 et 48, des signaux indiquant que de nouvelles valeurs sont disponibles aux sorties à 8 bits 36 et 38 de ces codeurs respectivement Les sorties de nouvelle valeur 46 et 48 sont respectivement reliées à des première et seconde entrées d'une porte OU 60 La sortie de la porte OU 60 est un signal stroboscopique qui est appli- qué à une entrée d'une porte ET 50 L'autre entrée de la porte 50 reçoit un signal d'effacement vertical, de circuits de synchronisation (non représents)\présents dans la caméra. La sortie de la porte 50 produit un signal de commande de charge, qui ne se présente que pendant l'intervalle d'effa- cement vertical pour éviter des perturbations possibles de l'image visualisée du fait des changements de la fonction de transfert pendant-le signal vidéo actif Si on le souhai- te, on peut forcer le signal de charge à se présenter pen- dant plusieurs intervalles d' effacement horizontal. Le signal de charge à la sortie de la porte 50 est appliqué à une entrée d'établissement S de la bascule 44, qui produit un signal de sortie qui commande les commu- tateurs 24, 26 et 28 Comme on l'a décrit ci-dessus, quand la bascule 44 est "établie", les commutateurs 24, 26 et 28 prennent tous la position B Une source 52 applique une tension au pôle B du commutateur 28 Quand le commutateur 28 est à la position B, l'entrée de commande de lecture/ écriture 30 de la RAM 22 est à une tension fournie par la source 52 qui la met en mode d'écriture La bascule 44 est également reliée à une etrée de rétablissement R d'un générateur d'adresses 54 Quand la bascule 44 est rétablie", le générateur d'adresses 54 est remis à zéro Un signal impulsionnel d'horloge de charge reçut à une entrée 56 par un générateur de signaux d'horloge de charge (non représenté), est appliqué à une entrée d'horloge d'écriture 58 de la RAM 22 et à une entrée d'horloge C du générateur d'adresses 54 La sortie 59 du générateur d'adresses 54 est reliée au pôle B du commutateur 24 et à une seconde entrée du multi- plicateur 40. Le générateur d'adresses 54 produit séquentielle- ment, à la fréquence d'horloge de charge, des signaux binai- res d'adresse qui représentent les nombres décimaux O à 255. Quand le commutateur 24 est à la position B, ces signaux d'adresse sont appliqués à l'entrée d'adresse 12 de la RAM 22 La fréquence du générateur de signaux d'horloge de char- ge est choisie pour permettre ai générateur 54 de produire 255 adresses pendant l'intervalle d'effacement vertical. Les signaux d'adresse appliqués au multiplicateur sont multipliés par le gain déterminé par le codeur de gain 32 Le signal de sortie produit résultant est appliqué à l'additionneur 42 Par exemple, si le gain est de dn, alors les adresses du générateur 54 sont appliquées à l'état inchangé à l'additionneur 42 (c'est-à-dire multipliées par 1); si le gain est de un demi, alors les signaux représentant la moitié de la valeur de l'adresse sont ainsi appliqués. Un additionneur 42 ajoute un palier (décalage encourant continu), déterminé par le codeur de palier 34, au signal de produit Le signal résultant de somme est appliqué au pôle B du commutateur 26 Quand le commutateur 26 est à la position B, le signal de somme à la sortie de l'additionneur 42 est appliqué à la borne de donnée 18, qui fonctionne comme une entrée de donnée Une sortie de débordement ou de dépassement O du générateur d'adresse 54 est relié à une entrée de rétablis- sement R de la bascule 44 Quand le générateur 54 produit un signal à la sortie 59 qui correspond au chiffre décimal 255, la sortie O du générateur 54 produit un signal de sor- tie à l'état haut pour rétablir l'entrée R de la bascule 44 qui indique que l'écriture dans la mémoire 22 a été accom- plie La bascule 44 est rétablie, et les commutateurs 24, 26 et 28 prennent la position A, comme le montre la figure 2 De même, l'entrée decommande de lecture/écriture 30 de la mémoire 22 est mise à la masse, ce-qui met la RAM 22 en mode de lecture Par conséquent, les signaux entrant à l'entrée 10 peuvent être appliqués à la RAM 22 par le com- mutateur 24 et y être traitésselon les nouvelles fonctions de transfert de palier et de gain, et un signal-de sortie peut être produit à la sortie 20, par le commutateur 26. La figure 3 montre un second mode de réalisation- de l'invention, commandé par microprocesseur, o des éléments correspondants ont reçu des repères correspondants Comme on peut le voir, la RAM 22 de la figure 2 a été remplacée par deux RAM, 22 x et 22 y Cela permet à une RAM de traiter le signal vidéo tandis que l'autre RAM peut avoir sa fonc- tion de transfert changée pendant la partie vidéo active delatrame de balayage, sans provoquer de perturbations de la scène visualisée Par exemple, pour les commutateurs- aux positions illustrées sur la figure 3, un commutateur 320 applique la donnée vidéo à la borne 10 à une entrée d'adres- se 12 x d'une RAM 22 x, et un commutateur 330 relie une borne de donnée 18 x à une borne de sortie de donnée vidéo 20. Ainsi la RAM 22 x traite le signal vidéo selon la fonction de transfert qu'elle 'contient. Un bloc 300 est commandé par un microprocesseur 302 Un bus d'adresses 308 du microprocesseur 302 est relié à une borne O d'un commutateur 304 et un bus de données 310 du microprocesseur 302 est relié à une borne O du com- mutateur 306 Le bloc 300 porte les-signaux par le bus de données 310 à 8 bits, qui peuvent être produits par toute source de signaux qui lui est connectée Comme cela est illustré, les sources de signauxa Dnt un codeur de gain 32, un codeur de gamma 35, et un codeur de palier 34 D'autres -35 sources comme des commutateurs à molette, ou des poten- tiomètres avec des convertisseurs analogiques/numériques, reliés aux sorties respectives, peuvent être utilisées. Une ROM 314 du bloc 300 contient une équation fixe etpréprogrammée représentant divers facteurs affectant la fonction de transfert Par exemple, si les fonctions du gain, du palier et du gamma doientêtre prduites il est important de savoir si le palier doit être appliqué avant ou après la correction du gamma Si le bloc a pour fonction de corriger des erreurs produites par le tube de caméra, l'addition du palier doit précéder les correctiorsde gamma Par ailleurs, si l'addition du palier doit compenser des décalages de blocage se présentant ultérieurement, la' correction du gamma doit précéder l'addition du palier. La ROM 314 contient également un groupe d'instructions pour effectuer le calcul. Le bloc 300 contient également une mémoire non volatile qui peut, par exemple, être une RAM 312 avec fonc- tionnement de secours sur batterie La RAM 312 stocke la valeur présente des divers paramètres qui sont traités. Dans un exemple particulier, la mémoire non volatile peut comprendre le nombre 0,5 représentant la valeur présente du gain, une valeur du palier qui peut par exemple être actuellement de zéro, une valeur du gamma qui peut être -de 0,5 A la mise E marche, le microprocesseur 302 calcule la valeur de la fonction de transfert pour la première valeur d'adresse des RAM 22 x et 22 y Le microprocesseur 302 utili- se les trois valeurs stockées dans la mémoire non volatile 312, dans une équation appropriée stockée dans la ROM 314 (selon par exemple, que la correction du gamma précède ou suit l'addition du palier) Ayant effectué le calcul, le résultat est stocké dans la RAM 22 y en supposant que les commutateurs 304 et 306 sont à la position A, comme le montre la figure 3 Le microprocesseur 302 passe alors à la seconde adresse, accomplit de nouveau le calcul et stocke le ré- ssultat dans la RAM 22 y Le microprocesseur 302 continue à passerpar les adresses et pour chaque étape, il accomplit les calculs donnant la fonction de transfert souhaitée. A la fin de l'intervalle de calcul, les commuta- teurs 304, 306, 320 et 330 sont commutés pendant l'interval- le vertical suivant par le microprocesseur 302 agissant par une ligne de commande de commutateur 322 pour être dans des positions opposées à celles de la figure 3 Ainsi, la donnée vidéo à l'entrée 10 est appliquée par le commutateur 320 à l'entrée d'adresse 12 y de la RAM 22 y et le commutateur 330 relie la borne de donnée 18 y de la RAM 22 y à la sortie 20. Par conséquent, la RAM 22 y traite le signal vidéo selon la nouvelle fonction de transfert qui y est stockée Les com- mutateurs 304 et 306 relient les bus d'adresseset de données 308 et 310, respectivement, à l'entrée d 'adresse 12 x et à la borne de donnée 18 x respectivement, de la RAM 22 x. Ainsi, si l'on souhaite ensuite changer le gain, le gamma ou le palier, les nouvelles valeurs sont stockées dans la RAM 22 x Pendant l'intervalle vertical suivant, les commu- tateurs 320, 304, 306 et 330 sont mis aux positions repré- sentées sur la figure 3 et par conséquent la RAM 22 x traite de nouveau le signal vidéo. Dans des systèmes o des interruptions du signal vidéo sont tolérables, comme des ajustements de montage avant mise en service, il est possible de n'utiliser que l'une des RAM 22 x et 22 y Dans de tels systèmes le signal vi- déo de sortie sera arrêté tandis que le changement de la RAM se produira. La figure 4 montre un troisième mode de réalisation de l'invention à plusieurs canaux, o des repères correspon- dants sont utilisés avec des éléments correspondants et les lettres R, G et B sont ajoutées aux repères pour indiquer des éléments dans les canaux du rouge du vert et du bleu Comme le montre la figure 4, un codeur sélecteur de canal 400 détermine quel est le canal dont le coefficient de transfert de sa RAM particulière 22 R, 22 G ou 22 B est changé Alors, le microprocesseur 302 n'adresse que cette adresse RAM par- ticulière pour produire le changement dans la fonction de transfert Si l'on souhaite que tous les canaux aient la même fonction de transfert, toutes les RAM seront adressées pour un chargement en même temps Par ailleurs, deux RAM par canal peuvent être utilisées comme dans le mode de réalisation à un seul canal de la figure 3 De plus encore les nouveaux coefficients peuvent être introduits dans la RAM 312 tandis qu'ils sont calculés Quand le calcul est terminé, pendant l'intervalle vertical qui se présente ensui- te, les nouveaux coefficientspeuventtkrerapidement transférés de la RAM 312 à au moins l'une des RAM 22 R, 22 B et 22 G. Cela écourte la discontinuité du signal vidéo, et elle ne se produit que pendant l'intervalle vertical Pour réduire même cette courte discontinuité, un signal d'effacement peut être appliqué à au moins l'une des sorties 20 G, 20 B 20 R pendant la présence de la discontinuité Dans le cas de cer- taines applications, ce processus élimine la nécessité de prévoir deux RAM par canal. Par ailleurs, si le calcul pour la nouvelle valeur de consultation est indûment compliqué, et qu'il ne faut pas beaucoup de calculs, alors ces calculs peuvent effectués au- paravant et stockés dans la ROM 314 Au temps approprié, la donnée de consultation peut être transférée aux RAM 22 x ou 22 y De plus encore, des calculs partiels peuvent être faits auparavant avec les calculs finals faits juste avant ce transfert. Dans la présente description, le terme "RAM" signifie une mémoire à accès aléatoire de lecture/écriture. Par ailleurs " rapide " signifie que la RAM peut fontionner à la fréquence de données du signal. 25102 ? 79 REVEND I CA'T IONS 1 Système de traitem Ent de signaux numériques avec table de consultation, caractérisé par: un premier canal de traitement de signaux ( 10, 24, 22, 26, 20) comprenant au moins une première RAM ( 22)-ayant des emplacements, et produisant à des bornes de données ( 18), des données représentatives du contenu d'un emplacement - choisi par une entrée de signaux d'adresse ( 12) selon une fonction composée de transfert; un certain nombre de sources ( 32, 34) de signaux de commande pour déterminer des composantes de ladite fonc- tion composée de transfert; un moyen ( 40, 42) pour obtenir desdits signaux de commande, de nouveaux contenus appropriés desdits emplace- ments selon un algorithme prédéterminé; et un moyen ( 28, 44, 50, 52,54, 60) pour charger la- dite RAM ( 22), desnouveaux contenus. 2 Système selon la revendication 1, caractérisé en ce que le canal de traitement de signaux précité com- prend de plus une seconde RAM ( 22 y); et Ui moyen( 304, 320) pour commuter le signal d'adres- se dudit canal à l'une desdites première ( 22 x) ou seconde ( 22 y) RAM; ledit moyen de chargement ( 302) ne chargeant que la RAM à laquelle le signal d'adresse n'est pas commuté. 3 Système selon l'une quelconque des revendica- tions 1 ou 2, caractérisé de plus par des second (O 10 B, 304 B, 22 B, 306 B, 20 B), et troisième ( 10 G, 304 G, 22 G, 306 G, 20 G) canaux de traitement de signaux; toutes les RAM ( 22 R, 22 B, 22 G) desdits canaux de traitement de signaux étant chargées par le moyen de char-' gement ( 302) précité - 4 Système selon la reyendication 3, caractérisé en ce que les canaux ( 1 OR, 304 R, 22 R, 306 R, 20 R; 10 B, 304 B, 22 B, 306 B, 20 B; IOG, 304 G, 22 G, 306 G, 20 G) prcités traitent les signaux représentant des signaux composant du rouge (R), du vert (G) et du bleu (B) d'un signal de télévision. Système soel la revendication 1, caractérisé en ce que les sources ( 32, 34, 35) de signaux de commande comprennent chacune un codeur numérique de position angulai- re. 6 Système selon la revendication 1, caractérisé en ce que les sources ( 32, 34, 35) de signaux de commande commandent au moins l'une des fonctions du gain, du palier et du gamma. 7 Système selon la revendication 1, caractérisé en ce que le moyen d'obtention précité comprend un moyen pour calculer ( 40,42) les nouveaux contenus. 8 Système selon la revendication 7, caractérisé en ce que le moyen de calcul ( 40, 42) comprend des circuits reliés selon l'algorithme précité. 9 Système selon la revendication 7, caractérisé en ce que le moyen de calcul ( 302, 314) précité comprend une ROM ( 314) pour stocker l'algorithme et un microproces- seur ( 302) relié à ladite ROM. Système selon la revendication 1, caractérisé en ce que le moyen de chargement ( 28, 44, 50, 52, 54, 60) précité comprend un générateur d'adresses ( 54) ayant un moyen d'entrée (c) pour recevoir un signal d'horloge de chargement et une sortie ( 59) reliéeà la RAM ( 22). 11 Système selon la revendication 1, caractérisé en ce que le moyen de chargement ( 302) comprend un micro- processeur ( 302) relié à la RAM ( 22 x, 22 y). 12 Système selon l'une quelconque des revendica- tions 10 ou 11, caractérisé en ce que le moyen de charge- ment ( 28, 44, 50, 54, 60) comprend un moyen ( 44,50) pour garantir le chargement de la RAM ( 22) seulement pendant un intervalle d'effacement du signal reçu. 13 Système selon la revendication 1, caractérisé en ce que le moyen d'obtention ( 302, 312) comprend un moyen ( 312) pour stocker au moins une partie des nouveaux contenu s. 14 Système selon la revendication 1, caractérisé en ce que c'est une caméra de télévision.