FR 2564627 A1 19851122 FR 8507532 A 19850520 La présente invention concerne le matériel et les procédés utilisés pour la présentation d'images numériques au moyen d'un équipement de visualisation vidéo du type à balayage par trame, en particulier lorsqu'il est nécessaire d'appliquer des fenêtres aux données d'image, d'une manière systématique, rapide et souple, comme dans le cas des systèmes d'imagerie médicale les plus perfectionnés. En imagerie médicale, le diagnostic est habi- tuellement effectué par des radiologues. Lorsque les images sont disponibles sous une forme lisible par un ordinateur (forme numérique), on peut effectuer l'analyse des images pendant leur présentation sur un moniteur vidéo. Les cher- cheurs dans le domaine de l'imagerie médicale de diagnostic travaillent continuellement à améliorer la qualité des ima- ges acquises par les divers moyens qui existent dans ce domaine. L'un des procédés bien connus permettant d'amélio- rer la possibilité de détection de lésions d'un organe visualisé consiste dans l'application d'une 'fenêtre". On entend par application de fenêtre le processus consistant à visualiser les données détectées en étendant certaines plages de données détectées pour qu'elles emplis- sent la totalité de la plage d'intensité de l'image présen- tée. A titre d'exemple, il n'existe qu'un nombre limité de niveaux de gris qu'on peut distinguer; et ceci est dû aux limitations propres au tube cathodique et à l'oeil humain. Il est donc très important d'utiliser les niveaux de gris disponibles dans les régions de valeurs de données qui con- tiennent l'information la plus utile. Pour illustrer ceci, on supposera qu'un système fonctionnant en noir et blanc soit capable de présenter 256 niveaux de gris. Si l'acqui- sition de données qui se déroule pendant l'examen d'un - sujet ne donnait que 86 niveaux de gris groupés à distance du niveau le plus bas et du niveau le plus élevé, on n'uti- liserait qu'environ un tiers des possibilités du système en ce qui concerne le contraste de la visualisation. Les promoteurs de l'utilisation de fenêtres ont noté que le fait "d'étaler" les données sur les 256 niveaux qui sont disponibles, au lieu de visualiser les données seulement sur les 86 niveaux correspondant à l'acquisition, améliorerait considérablement la résolution du contraste. Plus précisément, les données importantes peuvent résider dans une bande de valeurs, par exemple de 1000 à 1100. L'utilisation rationnelle de la "ressource de niveaux de gris" consiste à affecter la valeur de données 1000 au niveau de gris 0, la valeur de données 1100 au niveau de gris 255 et des valeurs de données intermédiaires aux valeurs de niveau de gris proportionnellement correspondan- tes dans la plage 1-254.- Dans l'exemple donné, le contraste serait augmenté d'un facteur d'environ 3 à 1. L'application de fenêtre s'effectue à l'heure actuelle en utilisant une ou plusieurs tables à consulter. Lorsqu'on visualise une image, les données sont enregis- trées dans une mémoire numérique et elles sont lues de façon répétée pour régénérer la visualisation vidéo. On utilise dans ce but des circuits spéciaux pour commander la séquence de lecture, pour synchroniser le moniteur à bala- yage par trame, pour convertir les données numériques en données analogiques, etc. Ces circuits sont bien connus de l'homme de l'art. *25 Pour accomplir la fonction d'application de fenê- tre en utilisant des techniques de consultation de table, on enregistre une table de traduction dans une mémoire con- tenue dans les circuits électroniques chargés de la régéné- ration de la visualisation. On utilise en tant qu'adresse les données d'image, élément d'image par élément d'image, et on les applique à la mémoire. On lit le niveau de gris correspondant qui est enregistré dans la mémoire et on l'utilise pour commander l'intensité de l'élément d'image qui est visualisé. Bien que la technique d'application de fenêtre basée sur la consultation d'une table puisse être une solu- tion acceptable pour des visualisations relativement simples, elleJne procure pas une bonne solution pour des systèmes de visualisation plus perfectionnés. A titre d'exemple, en scanographie, on rencontre ou on peut rencontrer les condi- tions suivantes qui sont défavorables pour les techniques d'application de fenêtre de l'art antérieur: - Les données peuvent être représentées par 12 bits - La matrice du système de visualisation peut être une matrice de 1024 x 1280 - On peut utiliser un écran divisé (subdivisant la matrice de 1024 x 1280 en vingt images de 256 x 256, par exemple) - Chacune des 20 images exige dans le cas idéal un réglage de fenêtre différent - La visualisation avec balayage par trame est régénérée à une cadence de 60 trames/seconde pour être exempte de scintillation Dans de telles conditions, des signaux vidéo dans la gamme de 100 mégapixels/seconde sont nécessaires pour accepter la cadence vidéo. Les mémoires qu'on utilise à l'heure actuelle pour la consultation de table peuvent fonc- tionner avec une période de cycle d'environ 75 nanosecondes. Par conséquent, huit canaux parallèles sont nécessaires pour accepter la cadence exigée. On notera également que (images) x 8 (canaux) x 4 K (longueur de la table) = 640 kilomultiplets. Avec la technologie actuelle, ceci exi- gerait 320 composants de mémoire statique de 4 K, ayant chacun une capacité de 4 bits. Ce nombre élevé de composants de mémoire, plus les circuits électroniques associés, font que les disposi- tifs d'application de fenêtre à la cadence vidéo basés sur la consultation de tables, sont inutilisables en pratique, tout au moins pour les systèmes de visualisation les plus perfectionnés, comme décrit ci-dessus. Il existe donc dans le domaine de l'imagerie un besoin portant sur des dispositifs et des procédures capa- bles de mettre en oeuvre la fonction d'application de fenê- tre d'une manière nouvelle et perfectionnée qui n'exige pas un aussi grand nombre de composants de mémoire, Un but de l'invention est de procurer un disposi- tif et des procédés efficaces et économiques pour l'appli- cation de fenêtre de la manière exigée de façon générale pour la mise en oeuvre de fenêtres à la cadence vidéo dans des systèmes vidéo avec régénération et balayage par trame, et en particulier pour des systèmes perfectionnés à haute résolution. Un mode de réalisation préféré de l'invention consiste en un système d'application de fenêtre prévu pour l'utilisation dans la conversion de données numériques en images vidéo, et ce système comprend: a) une source de données numérique pour une image, destinée à être utilisée pour la régénération de l'image vidéo visualisée, b) des moyens destinés à appliquer une fonction de transfert aux données numériques, pour effectuer - l'application d'une fenêtre, pendant le transfert des don- nées pour la régénération de la visualtion vidéo, et c) des moyens destinés à fournir les données numériques traitées, pour la régénération de la visualisa- tion vidéo. Une caractéristique de l'invention consiste dans l'existence de paramètres prédéfinis pour définir la fonc- tion de transfert ou pour générer les paramètres exigés. Une autre caractéristique de l'invention consiste dans le chargement dynamique de paramètres en fonction de l'image qui est présentée aux points spécifiques. L'invention permet au radiologue étudiant les images de changer de façon interactive la fonction de trans- fert, c'est-à-dire les réglages de fenêtre, au moyen de com- mandes d'une console. Les nouveaux réglages provoquent le calcul de nouveaux paramètres qui sont introduits dans le système pour modifier la fonction de transfert. Une autre caractéristique de principe de l'inven- tion est basée sur la transformation des données pour accomplir l'opération d'application de fenêtre. On peut réaliser la transformation dans un circuit tel qu'un circuit à très haut niveau d'intégration, en utilisant la technolo- gie des semiconducteurs actuelle. Une autre caractéristique encore de l'invention consiste dans l'utilisation du procédé d'application de fenêtre décrit ici en série avec une application de fenêtre par consultation de table, lorsque certaines des images exigent également des fonctions de transfert qu'on peut mieux mettre en oeuvre par une consultation de table. La combinaison de l'application de fenêtre du type de l'art antérieur et de "l'application de fenêtre par morceaux" de l'invention économise également du matériel et/ou du temps. Selon une autre caractéristique, l'invention comporte l'utilisation d'un multiplicateur à virgule semi- flottante pour obtenir plus efficacement les pentes de la fonction de transfert. L'invention sera mieux comprise à la lecture de la description détaillée qui va suivre de modes de réalisa- tion et en se référant aux dessins annexés sur lesquels: La figure 1 est un schéma synoptique montrant un système d'imagerie caractéristique de l'art antérieur, équipé pour effectuer l'application de fenêtre; La figure 2 est un schéma synoptique montrant le dispositif de l'invention qui accomplit l'application de fenêtre; La figure 3 représente une première fonction de transfert du type généré et utilisé dans le dispositif d'application de fenêtre de l'invention; La figure 4 représente une seconde fonction de transfert du type généré et utilisé dans le dispositif d'application de fenêtre de l'invention; et La figure 5 représente une troisième fonction de transfert du type généré et utilisé dans le dispositif d'application de fenêtre de l'invention. La figure 1 est un schéma synoptique d'un dispo- sitif d'application de fenêtre 11, caractéristique de l'art antérieur, dans lequel on voit une source de données d'image 12. La source de données 12 peut être une mémoire dans laquelle on a enregistré des données acquises dans un but d'imagerie médicale de diagnostic, selon l'un quelcon- que des modes d'acquisition bien connus, comme par exemple par ultrasons, par scanographie, par radioscopie ou radio- graphie numérique, par rayonnement gamma ou X ou par résonance magnétique nucléaire. Les données peuvent égale- ment provenir directement d'un système d'acquisition sous la forme d'un train de données. L'objet représenté est "divisé" en zones élémen- taires qui sont liées aux éléments d'image ou pixels de l'image. De façon similaire, les éléments de l'image sont liés à des positions élémentaires dans une mémoire de visualisation. La mémoire de visualisation est habituelle- ment une matrice divisée en lignes et en colonnes. Les intersections de lignes et de colonnes sont liées directe- ment ou indirectement aux zones élémentaires et aux pixels. Ainsi, au moment de l'acquisition de données, on note éga- lement la position des événements correspondant aux don- nées. Les données sont donc enregistrées conformément aux zones élémentaires de l'objet dont on désire former l'ima- ge. On peut traiter les données avant la formation de l'image, pour améliorer cette dernière. On utilise pour améliorer les images de nombreuses procédures bien connues dans la technique, parmi lesquelles "l'application de fenê- tre". Les procédures destinées à l'amélioration de l'image sont généralement incorporées dans le logiciel utilisé par un ordinateur associé. La partie du traitement de données qui correspond à l'application de fenêtre est indiquée-sur la figure 1 sous la forme d'un bloc séparé en pointillés, 14. Toutes les opérations de traitement, d'échange de don- nées avec la mémoire et de visualisation s'effectuent sous la commande de l'unité de commande 16. Après l'accomplissement des opérations d'amélio- ration, qui peuvent être effectuées en temps différé ou aux cadences vidéo, et l'application de fenêtre, l'image est visualisée par l'unité de visualisation 17. La figure 1 montre donc fondamentalement les étapes de traitement de données pour l'amélioration de l'image ainsi que la visua- lisation proprement dite de l'image. Comme expliqué ci-dessus, la source de visualisation 12 peut être'la mémoire qu'on utilise pour enregistrer les données en vue de leur utilisation dans le processus de régénération ainsi que pendant les étapes d'amélioration et/ou d-tacqui- sition. Dans le passé, l'étape d'application de fenêtre était effectuée soit par logiciel à une cadence différente de la cadence vidéo, soit par une technique de consulta- tion de table à la cadence vidéo. Comme le montre la figure 1, les données destinées à-l'application de fenêtre sont reçues sur un bus de données 19. L'unité de commande de visualisation 16 détermine l'adresse des données conformé- ment à leur position dans la mémoire de visualisation. En utilisant en tant qu'adresse les données présentes sur le bus 19, on procède à l'acquisition des données contenues dans la table à consulter, représentée par la table 29.-On peut ensuite transférer pour une utilisation ultérieure les données provenant de la table. Les données provenant de la table sont transmises au bus de données de sortie 27. L'ensemble du fonctionnement relatif à la table est commandé par l'unité de commande de visualisation 16 qui peut déterminer, entre autres, quelle table doit être consultée. Il existe souvent plusieurs tables et la détermination de la table qui doit être consul- ter s'effectue habituellement sur la base d'une information contenue dans l'unité de commande d'affichage. On procède ainsi par l'utilisation de tables dans la technique d'appli- cation de fenêtre de l'art antérieur, avec la nécessité qui en résulte d'un nombre relativement grand de composants de mémoire supplémentaires. La figure 2 montre le dispositif d'application de fenêtre 31 de l'invention, utilisant un matériel spécialisé. Le matériel spécialisé est conçu de façon à générer des fonctions de transfert destinées à être utilisées à la place des tables à consulter. Le matériel peut générer une fonc- tion de transfert linéaire simple, comme il est représenté sur les figures 3 et 4, ou un ensemble de fonctions linéai- res par morceaux, comme le montre la figure 5. Les fonc- tions linéaires par morceaux correspondent au cas général, tandis que les fonctions des figures 3 et 4 sont des cas particuliers. Sur la figure 2, les données arrivent sur le bus de données 19. Il n'existe ici aucune table à consulter. On trouve à la place un registre de paramètres 32 qui reçoit ses paramètres de l'unité de commande de visualisa- tion 16. On utilise le registre de paramètres pour enre- gistrer les paramètres fondamentaux (seuil et pente) des fonctions de transfert qui sont utilisées à la place des tables. Les fonctions de transfert sont des fonctions linéaires ayant une pente qui procure le signal de sortie désiré pour un signal d'entrée donné. Le générateur de fonction de transfert 33 con- vertit les données entrantes sur le conducteur 19 en don- nées sortantes sur le conducteur 37. Les données sortantes traversent un amplificateur-séparateur 38 pour aller soit directement vers l'unité de visualisation 17, soit vers un dispositif d'application de fenêtre par consultation de table, 39, avant d'être dirigées vers le moniteur de visualisation 17. Dans un mode de réalisation préféré, toutes les données provenant du générateur de fonction de transfert passent par le dispositif de consultation de table 39. Si les données qui proviennent de la sortie du générateur de fonction de transfert n'exigent pas un traitement par con- sultation de table, on utilise une fonction de consulta- tion de table 1:1 pour mettre effectivement hors fonction la fenêtre non linéaire 39. On pourrait également effectuer la mise hors fonction par des moyens de commutation, de n'importe quelle manière bien connue. La fenêtre non linéaire 39 est du type représenté sur la figure 1. Cependant, le temps et le nombre de compo- sants de mémoire sont réduits par l'utilisation de la com- binaison du générateur de fonction de transfert et de la fenêtre non linéaire. Avec cette combinaison, l'application de fenêtre auxiliaire, c'est-à-dire l'application d'une fenêtre non linéaire par la technique de consultation de table, peut être accomplie en utilisant moins de bits. A titre d'exemple, lorsque le signal d'entrée du générateur de fonction de transfert comprend 12 bits, son signal de sortie comprend 8 bits. Ainsi, la table de la fenêtre non linéaire 39 travaille sur 8 bits au lieu de 12 bits, ce qui réduit la taille de mémoire d'un facteur de 16. Une économie supplémentaire résulte de la réduction du nombre total de réglages de fenêtre différents qui sont nécessai- res. Il suffit pour la consultation de table de travailler avec, par exemple, 16 réglages de fenêtre différents. On peut réaliser ceci avec une mémoire de 4 K multiplets (pour l'exemple ci-dessus, ceci réduit de 420 à 16 le nom- bre de composants nécessaires). On peut réaliser aisément la fenêtre linéaire par morceaux, avec le plus grand nombre de réglages de fenêtre nécessaires, par exemple 64 ou 256, sans augmenter la capacité de la mémoire utilisée pour l'opé- ration de consultation de table. Les paramètres qu'on utilise pour déterminer les seuils et les pentes de la fonction de transfert sont enre- gistrés dans le registre de paramètres et, en fait, le générateur de fonction de transfert fonctionne à la manière d'un multiplicateur qui multiplie les données d'entrée, diminuéesdu seuil, par la pente de la fonction de transfert générée, définie par 255/W sur la figure 3, par (255-B)W sur la figure 4 et par O1/W1, 255-02/W2, -255-03/W3 et 255/W4 sur la figure 5, pour obtenir un produit qui corres- pond aux données de sortie. Dans un mode de réalisation préféré, le système utilise un calcul en virgule semi-flottante pour déterminer le produit. Si on utilisait une détermination en virgule fixe, l'application d'une fenêtre dans le cas d'une longueur de données d'entrée de 8 bits et d'une longueur de données de sortie de 8 bits, par exemple, nécessiterait une résolu- -tion de 28 bits pour le nombre représentant la pente. Pour réduire la taille du multiplicateur, on utilise un mode à virgule semi-flottante. Ceci réduit le multiplicateur à un nombre entier à 12 bits constitué par un exposant E à 4 bits et par une mantisse S à 8 bits. E et S sont générés par l'unité de commande au moyen des étapes suivantes: a. Détermination de l'exposant E (On suppose que E est un entier dans la plage de O à 12) E satisfait la relation: 2 exp (11-E) W = Z 2 exp (12-E). Par exemple; lorsque W= 2: 2 exp O Z 2 = t 2 exp 1, et donc E = 11 nil b. Détermination de la mantisse S On pose: SF = (2 exp(12-E))/W avec SF dans la plage 1=. SF 2 S est alors représentée par un entier à 8 bits et: S = INT(128xSF) = INT(128x2exp E/W) Ainsi, pour différentes valeurs de W, on enregistre les valeurs de T, E etS et on les utilise pour travailler sur les données d'entrée afin d'obtenir les données de sortie. La section linéaire de la fonction de transfert fournit le nombre d'unités de sortie par élément d'entrée. Par exemple, sur la figure 3, on voit que les données de sortie s'étendent de O à 255. La pente est égale à 255 divisé par la largeur de fenêtre désirée. L'application d'une fenêtre linéaire est basée sur l'utilisation de la pente en tant que multiplicateur, qui multiplie les données d'entrée diminuées du seuil, pour obtenir les données de sortie, limitées à 255. En pratique, on accomplit l'application d'une fenêtre linéaire par morceaux en utilisant un circuit à très haut niveau d'intégration spécialisé ou semi-spéciali- sé. Le circuit fonctionne en un cycle compté en nanosecondes. La durée correspondant à un élément d'image est=de 37,5 nanosecondes dans la présentation avec 512 lignes et elle est proche de 9,3 nanosecondes dans la présentation avec 1024 lignes. Du fait de considérations temporelles, on applique la fenêtre en utilisant des techniques de type pipeline et des "canaux d'application de fenêtre" qui fonctionnent en parallèle. A titre d'exemple, une présenta- tion avec 512 lignes utilise deux canaux parallèles et une présentation avec 1024 lignes utilise huit canaux. L'application d'une fenêtre linéaire par morceaux qui est décrite ici est utilisée soit seule soitav-eune fend- tre définie par une opération de consultation de table, comme il est représenté sur la figure 2. On peut mettre en oeuvre la fenêtre linéaire par morceaux conformément aux graphiques des figures 3, 4 ou 5. La configuration de la figure 4 montre une "application de fenêtre décalée". La fonction de transfert utilise une valeur-de seuil négative - T. Dans la configuration de la figure 5, qui est le cas général, on détermine plusieurs pentes sur la base de lar- geurs des différentes sections et des seuils correspondants. On peut également utiliser le dispositif d'appli- cation de fenêtre de l'invention dans les cas qui exigent une linéarisation visuelle de la visualisation par multi- plication par la fonction de transfert. On réalise ceci, au moyen de la visualisation, en établissant l'une des tables de la-fenetre non linéaire de façon qu'elle soit normalisée pour l'ensemble des 256 niveaux de gris. On effectue ensuite entièrement l'opération d'application de fenêtre en changeant les paramètres de la fenêtre linéaire d'une manière interactive en fonction du centre et de la largeur, comme si on effectuait seulement l'application d'une fenê- tre linéaire. En pratique, on traite les données en soustrayant le seuil et en multipliant par la pente. Si le résultat de la soustraction du seuil est inférieur ou égal à zéro, on multiplie la pente par zéro. Si le produit de la pente et de la différence entre les données et les seuils est supé- rieur ou égal à 255 (dans cet exemple), on utilise la valeur 255. Le générateur de fonction de transfert réalise - donc une opération d'application de fenêtre très efficace lorsqu'une fonction de transfert "linéaire" est exigée. Dans un mode de réalisation préféré, le grand nombre de composants de mémoire exigé par des systèmes de l'art anté- rieur est remplacé par un petit nombre de composants à très haut niveau d'intégration. On a décrit l'invention en considérant un exemple de circuit, mais il faut noter que de nombreuses modifica- tions peuvent être apportées au dispositif décrit et repré- senté, sans sortir du cadre de l'invention. REVENDICATIONS 1. Système d'application de fenêtre prévu pour l'application d'une fenêtre à des images vidéo visualisées, caractérisé en ce qu'il comprend: une source de données (12) destinée à fournir les images visualisées; des moyens (19) destinés à fournir ces données pratiquement à une cadence de trame vidéo; et un matériel (33) qui fonctionne effectivement à la cadence de trame vidéo sous la dépendan- ce de paramètres désignés, pour transformer les données de façon à étendre la plage de données intéressante pour qu'elle emplisse pratiquement la totalité de la plage d'intensité de l'image visualisée, grâce à quoi l'opération d'application de fenêtre est accomplie sans procéder par consultation de table. 2. Système selon la revendication 1, caractérisé en ce que la source de données (12) comprend une mémoire destinée à enregistrer les données, et des moyens destinés à lire ces données en vue de leur utilisation dans la régénération de la visualisation vidéo, et en ce qu'on fait fonctionner le matériel (33) pendant l'opération de 'lecture. 3. Système selon la revendication 1, caractérisé en ce que le matériel (33) met en oeuvre un algorithme de fonction de transfert qui est défini par lesdits paramètres. 4. Système selon la revendication 3, caractérisé en ce que le matériel (33) comprend des moyens multiplica- teurs destinés à multiplier les données par des valeurs qui sont déterminées par l'algorithme de fonction de transfert. 5. Système selon la revendication 4, caractérisé en ce que l'algorithme utilise un mode de calcul en virgule semi-flottante. 6. Système selon la revendication 1, caractérisé en ce qu'il comprend desmoyens d'application de fenêtre supplémentaires (39) comprenant des tables à consulter. 7. Système selon la revendication 6, caractérisé en ce que les moyens d'application de fenêtre supplémentaires (39) sont en série avec le matériel (33). -5 8. Système selon la revendication 6, caractérisé en ce que les moyens d'application de fenêtre supplémentaires (39) sont en parallèle avec le matériel (33). 9. Système selon la revendication 1, caractérisé en ce que les paramètres sont sélectionnés par un opérateur. 10. Système selon la revendication 1, caractérisé en ce que les paramètres sont calculés à partir des données. il. Système selon la revendication 9, caractérisé en ce qu'il comporte des moyens (16, 32) grâce auxquels les paramètres peuvent également être fournis par une opération. 12. Système selon la revendication 10, caractérisé en ce que les paramètres sont calculés à partir desdites données ainsi qu'à partir de données externes. 13. Système selon la revendication 1, caractérisé en ce que les paramètres déterminent une valeur de seuil et une valeur de pente pour une fonction de transfert linéaire. 14. Système selon la revendication 1, caractérisé en ce que les paramètres déterminent un ensemble de valeurs de seuil et de valeurs de pente pour un ensemble de fonc- tions de transfert linéaires, pour une seule visualisation. 15. Système selon la revendication 1, caractérisé en ce que les paramètres déterminent des valeurs de pente et de seuil qui comprennent des valeurs négatives. 16. Système selon la revendication 1, caractérisé en ce qu'il comprend des moyens (33) destinés à traiter les données en parallèle. 17. Système selon la revendication 1, caractérisé en ce qu'il comprend des moyens de type pipeline (33) pour traiter les données. 18. Système selon la revendication 1, caractérisé en ce que le matériel (33) comprend au moins un circuit à très haut niveau d'intégration.