Brevet FR2565004A1 — publié le 19851129

La présente invention concerne les procédés et les dispositifs d'affichage électronique d'images, et elle porte plus particulièrement sur des systèmes destinés à changer par des moyens électroniques, de manière variable, les dimensions de telles images Ûu les dimensions de parties de telles images. La collecte de données, la génération d'images à l'aide des données et la présentaticn d'images sont des opérations qu'on effectue dans des domaines aussi variés que l'astronomie, la surveillance aérienne, la photogrammétrie aérienne, les travaux graphiques, y compris la conception et la fabrication assistées par ordinateur, et les diagnostics médicaux. Bien que l'in Invention soit applicable à n'importe quel affichage d'image, elle est spécialement destinée à l'utilisation dans le traitement d'images obtenues et affichées dans des buts de diagnostic médical. L'une des nombreuses manipulations qu'on utilise avec des images affichées consiste à agrandir ou à réduire les dimensions de l'image ou de parties sélec- ticnnées de celle-ci. Dans des systèmes numériques, on échantillonne les données d'image pour définir-des matrices ayant des valeurs discrètes dans des emplacements correspo- dant aux valeurs des coordonnées x, y de l'image. Les dimensions des matrices les plus couramment utilisées sont de la fcrme 2exp(a)x2exp(a), le nombre a étant un entier compris entre 5 et 12 (c'est-à-dire 32x32, 64x64, etc, jusqu'à 2048x2048). Dans les systèmes d'affichage à régénérationpar trame qui sont largement utilisés, on lit les données d'image dans la mémoire en ccr respondance avec le balayage d'un faiseeau d'éleetrcns. Du fait que les données d'image sont numériques et sot spécifiées pour des coordonnées x, y discrètes, les circuits électroniques sont normalement constitués de façon à accepter des données correspondant à des positions X, Y discrètes spécifiées à l'avance (pixels). Lorsqu'on utilise l'agrandissement, les échzr- tillons de données d'image ne présentent pas une correspondance univcque avec la grille de données telle qu'elle est affichée dans l'affichage par trame. Il est donc nécessaire de calculer des valeurs des données d'image pour les valeurs entières de la grille. On peut baser le calcul de ces valeurs de données sur une interpolation entre des valeurs de données d'origine adjacentes correspondantes de l'image. Dans le cas de l'agrandissement avec un facteur F, si cn maintient constante l'origine de l'image, les données à afficher aux coordonnées XZ, YZ de la grille d'affichage correspondent à celles de la position XI/F,YI/F de la matrice de données d'image d'origine.On considèrera à titre d'exemple le cas dans lequel XZ=12, YZ=36 et Z=1,25; or. doit alors disposer d'un échan tille de données pour l'affichage aux coordormées XI = XZ/F = 12/1,25 YI = YZ/F a 36/1,25 = 28,8 en désignant par XZ, YZ les coordonnées agrandies et par XI, YI les coordonnées correspondantes de l'image;Du fait que les données d'origine sont également disponibles aux coordonnées entières, on peut calculer-la valeur des données aux coordonnées 9,6; 28,8 par interpolation entre les données disponibles pour les quatre valeurs entières les plus proches 9; 28 9; 29 10; 28 lC; 29 On peut effectuer cette interpolation au moyen d'un logiciel qui recalcule les valeurs aux emplacements d'une grille nécessaire pour l'affichage et qui les enregistre à la position correspondante dar.s-la-mémcire d'affichage. Les principaux inconvénients d'effectuer l'opé- ration d'interpolation par logiciel sont les suivants a) L'opération d'interpolation est relative met lente lorsqu'elle est effectuée par logiciel,. dans un processeur (meme un processeur très rapide). Le temps de réponse est inacceptable en mode interactif en particulier lorsque la taille de l'image est grande (par exemple 512x512), ce qui augmente encore davantage le temps nécessaire pour acccmplir l'interpo-latior. ; et b) Urne mémoire supplémentaire est nécessaire, du fait qu'il faut enregistrer à la fois les données d'image d'origine dans leur forme d'origine et les données d'image interpolées. Ceci est particulièrement vrai lorsqu'il est nécessaire de présenter des images animées agrandies. Par conséquent, à l'heure actuelle, il devient de plus en plus malcommode d'inclure dans un logiciel des procédures telles que l'agrandissement. Il serait sGuhai- table d'accomplir de telles procédures au moyen d'un matériel spécialisé. Les matériels spécialisés existant antérieurement étaient relativement coûteux et manquaient de souplesse, même pour accomplir une tache spécialisée. On a donc procédé par logiciel. A l'heure actuelle., avec l'utilisation d'images plus grandes et/ou de matrices d'affichage plus grandes, il est nécessaire de disposer d'un matériel spécialisé ayant un bon rapport coût/perfor- mances pour effectuer des opérations d'agrandissement avec interpolation. L'invention a donc pour but de procurer un matériel spécialisé accomplissant des opérations d'interpola- tion et d'agrandissement ou de réduction des données traitées, dans un but de présentation d'image. L'invention procure un dispositif interpolateur d'agrandissement destiné à traiter des données d'image pour permettre la présentation d'une image agrandie, et ce dispositif interpolateur comprend des moyens destinés à enregistrer des données d'image dans des éléments de mémoire ayant des posi tions x, y données dans des directions x et y dans une mémoire de données, de façcr. que chacun des éléments de mémoire ait une position x, y donnée et une valeur de données d'image, des moyens destinés à sélectionner des facteurs d'échelle de données d'image dans des directions sélectionnées parmi les directions x, y, pour réaliser un agrandissement, des moyens destinés à déterminer des facteurs d'interpolation, pour calculer des valeurs de données intermédiaires entre des valeurs de données enregistrées, des moyens destinés à calculer ces valeurs de données intermédiaires, pour effectuer l'agrar.disse- met sélectif, et des moyens destinés à transmettre les valeurs de données intermédiaires à des moyens de présentation, pour l'affichage d'images agrandies. Selon une caractéristique de linvention, on peut utiliser des facteurs d'échelle différentes pour l'agrandissement dans les directions x et y. Une autre caractéristique de l'inventron consiste en ce qu'on peut sélectionner le facteur d'échelle de façon qu'il corresponde soit à un facteur d'agrar.dis- sement, soit à un facteur de réduction. Encore une autre caractéristique de l'invention permet d'effectuer urX changement de dimensions en utilisant des facteurs d'échelle qui sot soit des nombres entiers, soit des nombres frac tionnaires, pour l'agrandissement ou la réduction. L'invention sera mieux comprise à la lecture de la -description qui va suivre d'ure mode de réalisation, et en se référant aux dessins annexés sur lesquels La figure i est un schéma synoptique d'ure système caractéristique d'afficha-ge d'images définies par des don nées La figure 2 est un schéma syncptique de la partie d'interpolation du système d'affichage d'images définies par des données de-la figure 1 La figure 3 est un schéma synoptique d'une section de la partie d'interpolation de la figure 2 ; et La figure 4 représente l'interpolation qu'ac ccmplit le système de la figure 2. La figure 1 montre un schéma synoptique général d'un système caractéristique pour l'affichage d'images. La représentation du système d'affichage 11 comprend un ordinateur central 12 auquel est associé un dispositif d'interaction d'opérateur 13. Le dispositif d'interaction 13 peut être un clavier, un système tactile, un manche à balai, un ensemble d'interrupteurs, etc. Il faut noter que le cadre de l'invention est suffisamment large pour englober des séquences programmées à la place du dispositif d'interaction d'opérateur cu en plus de celui-ci. Une unité d'entrée de données 14 fournit les données. Elle peut consister en un scanographe, en un appareil de résonance magnétique nucléaire, en un appareil de radioscopie, en une gamma-caméra, ou en une autre scurce d'images quelconque, comme par exemple des moyens d'enregistrement, c'est-à-dire des disques, des bandes, etc. Les données d'entrée sont placées dans une mémoire centrale 16 cu dans une mémoire d'affichage 17, ou dans les deux. Les données peuvent subir un traitement supplé- dentaire avant l'affichage.Dans le cadre du processus d'affichage par trame, on peut effectuer une interpolation sur les données au moye du sous-ensemble d'interpolation d'agrar.dissement 18. Ce traitement ainsi que la mémoire d'affichage 17 sont-habituellement sous la commande d'urne unité de commande séparée, représentée par l'unité de commande d'affichage 24. Après traitement, les données scat gé néralement transmises vers une unité de visualisation ou d'affichage 21. Conformément à l'invention, il existe des moyens matériels spécialisés pour le traitement d'agrandissement et d'interpolation. Plus précisément, la figure 2 mcntre des détails de l'interpolateur d'agrar.dis- sement 18 de la figure 1. La figure 2 montre des moyens tels qu'un interpclateur de ligne 18a et un interpclateur de colonne 18b qui sont prévus pour effectuer l'interpo- lation. Sur la figure 2, les lignes scnt désignées par Y, Y+l....Y+n et les cclQnnes sont désignées par X, X+1... X+n. L'unité de commande 19 émet vers l'ir.terpola- teur de ligne, colonne par colonne, la valeur de données d'image de la première ligne et de la seconde ligne des mémcires, c'est-à-dire de la première ligne et de la première ligne plus 1.Lorsque l'interpolation entre la première ligne et la seconde ligne est effectuée pour la première colonne, les données interpolées sont émises vers le registre 22. Lorsque l'interpolation entre la première ligne et la seconde ligne est accomplie pour la seconde colonne, les données interpolées sont émises directement vers l'interpolateur de colonne 18, pour l'interpolation de colonne. Pendant que l'interpolaticrl de colonne a lieu, l'unité de commande 19 commande à l'interpolateur de ligne 18a d'interpcler entre la première ligne et la seconde ligne pour la troisième colonne.Les données d'interpolation des première et seconde lignes sot ensuite émises vers le registre 22, et les données d'interpolation entre les première et seconde lignes pour la troisième colionne sont émises directement vers l'interpolateur de colonne 18b. Cette procédure se pcursuit jusqu'a ce que l'interpolation scit accomplie pour toutes les données contenues dans les deux premières lignes. La procédure se poursuit ensuite de la meme marnière, c'est-à-dire en prenant les don- nées des seconde et troisième lignes (X+1 et X+2), pour in terpcler les données entre les seconde et troisième lignes dans tcutes les colonnes.La procédure se poursuit d'une manière similaire jusqu'à ce que toute l'interpolation scit effectuée pour l'ensemble des données. La figure 3 montre les détails des deux inter pclateurs 18a et 18b. I1 faut noter que bien que la des cription indique que les lignes sont interpolées avant- les colonnes, l'invention englobe l'interpolation dans n'importe quel ordre et, en fait, il entre dans le cadre étendu de l'invention de traiter simultanément l'ensemble de quatre points adjacents. Comme le montre la figure 5, il existe des moyens tels qu'une unité de soustraction 26 qui sot destinés à scustraire les valeurs des données aux emplace ments sélecticnnés, pour cbtenir les différences de valeurs entre les données sélectionnées. I1 existe des moyens tels qu'une unité de mul tiplicatic 27 ayant pour but de multiplier les differen- ces fournies par l'unité de soustraction 26, par un facteur qui est déterminé par l'opérateur ou par une séquence de programme. A titre d'exemple, l'opérateur détermine quel sera l'écartement entre les points de données mesurés en introduisant un facteur d'agrandissemer.t F. Le nombre de points interpolés qui sera utilisé est alors sélec tisonné automatiquement en compagnie de l'écartement entre les points interpolés. A titre d'exemple, la figure 4 montre, en trait continu, des données mesurées telles que les données PO à P6, sur l'axe des temps t. Les données interpolées sot représentées en pointillés entre les données mesurées. L'in- terpolateur spécialis-18 détermine la valeur des données interpolées à la position à laquelle ces données doivent être affichées, conformément à la position de balayage par trame et au facteur d'agrandissement exigés. A titre d'exemple, sur la figure 4, le facteur d'agrandissement détermine que des points mesurés seront séparés par 5 unités, avec 2 unités entre les points interpoles et une unité entre le premier point mesuré et le premier point interpolé. Ces critères font que le premier facteur pour la première interpolation, fourni par l'unité de généra tion de facteur 28 est 0,2, et ce facteur est multiplié par l'unité de multiplicaticn 27 par-la différence provenant de l'unité 26. Le facteur qui est appliqué pour la seconde interpolation est de 0,6. Le produit qui est le signal de sortie de l'unité 27 est ensuite additionné aux données d'entrée (Y) qui sont appliquées à l'unité 26. La figure montre un additionneur 29 qui effectue l'addition. La somme qui ccnstitue le signal de scrtie de l'additionneur 29 est placée dans le registre 31 en vue du transfert vers l'unité de commande d'affichage 19. Ccr.formément à la figure 4 et à l'exemple décrit, les facteurs suivants s'appliquent à l'interpolation entre (1) Les données entrée P(O) et P(1), et (2) Les données d'entrée P(1) et PC2) (1) a) P(O) + 0,2xD(O) avec D(O)= P(1) - P(O) b) P(O) + 0,6xD(O) c) P(O) + lxD(0) (2) d) P(1) + 0,4xD(1) avec D(O)=P(2) - P(1) e) P(1) +0,8xD(1) Les facteurs sont ainsi déterminés par la distance sur l'axe t entre le point de données interpolé et chacun des pcints de données mesurés qui l'entourent. Les facteurs permettent d'obtenir des données interpolées qui procurent des courbes relativement lisses, comme le montre la figure 4. A titre d'exemple, au ccurs du fonctionne- ment du système, l'opérateur introduit le facteur d'agrandissement désiré et le matériel spécialisé accomplit l'interpolation nécessaire pour l'opération d'agrandissement. Le facteur d'agrandissement qui est utilisé dans le matériel est fourni par un algorithme qui est inecr- poré dans le logiciel du système. également à titre d'exemple, dans un mcde de réalisation préféré le facteur d'agrandissement donné par l'algcrithme peut être de la forme F = m/n en désignant par m et n des nombres entiers.La valeur de peut être une valeur quelconque comprise entre 1 et 32, et la valeur de m n'est généralement pas inférieure à n, dont la valeur est de préférence fixée à 32. On peut utiliser le système dans la direction de n'importe quel axe sélectionné cu de n'importe quelle combinaison d'axes sélectionnés. Le système fonctionne à des cadences vidéo, pour différents facteurs d'agrarAdis- sement, d'une manière fiable et avec une souplesse ineon- nue jusqu'à présent. Le facteur d'interpolation dépend dans une cer taine mesure du facteur d'agrandissement. Ainsi, pour des agrandissements supérieurs à 2, on peut par exemple ajouter au moins deux points d'interpolation. Pour des agrandisse- ments supérieurs, par exemple jusqu'à 5, on utilise un plus grand nombre de points d'interpolation. Il va de soi que de nombrecsss modifications peuvent etre apportées au dispositif et au procédé décrits et représentés, sans scrtir du cadre de l'invention. REVENDICATIONS 1. Système d'affichage vidéo avec régénéra- tio par trame régénérant périodiquement l'image affi chée, caractérisé en ce qu'il comprend : une mémoire (17) destinée à enregistrer des données d'image qui correspondent normalement à des positions X, Y de l'image affichée, et des moyens d'agrandissement spécialisés (18) destinés à agrandir l'image affichée, ces moyens d'agrandissement comprenant des moyens (ira, 18b) destinés à permettre d'effectuer un agrandissement avec des facteurs d'agrandissement sélectionnés qui peuvent être exprimés par un rapport de nombres entiers. 2. Système selon la revendication 1, caractérisé en ce que les moyens d'agrandissement comprennent un interpolateur (18a, 18b) qui fonctionne pendant la régénération périodique des images affichées de façon à accomplir l'interpolation au cours d'un cycle de régénération, pendant le passage des données vers un dispositif de visualisation. 3. Système selon la revendication 2, caractérisé en ce que l'image affichée est régénérée trame par trame. 4. Système selon la revendication 2, caractérisé en ce que l'interpolateur (18a, 18b) comprend des moyens destinés à sélectionner le facteur d'agrandissement le long de l'un des axes X ou Y, pour interpoler ainsi des données X ou Y sélecticnnées. 5. Système selcn la revendication 2, caractérisé en ce que l'interpolateur (18a, 18b) comprend des moyens destinés à sélectionner le facteur d'agrandissement selon les deux axes X et Y, pour interpoler ainsi des données de ligne et de colonne. 6. Système selon la revendication 5, caractérisé en ce que le facteur d'agrandissement selon l'axe X est différent du facteur d'agrandissement selon l'axe Y. 7. Système selon la revendication 2, caractérisé en ce que l'interpolateur comprend un interpolateur Y (18b) et des moyens destinés à fournir à cet interpcla- teur Y des données Y relatives à chaque groupe de deux positions Y séquentielles pour chaque position X, en vue de l'interpolation entre les positions Y séquentielles pour chaque pcsiticn X, de façon à fournir des données Y interpclées. 8. Système selon la revendication 2, caractérisé en ce que l'interpolateur comprend un interpolateur X (18a) et des moyens destinés à fournir à cet interpolateur X des données X provenant de chaque ensemble de deux positions X séquentielles pour chaque position Y, en vue de l'interpolation entre les positions X séquentielles pour chaque position Y, pour fournir des données X interpolées. 9. Système selon la revendication 7, caractérisé en ce que l'intsrpolateur (18) comprend des moyens destinés à interpoler en outre des données X séquentielles pour les données Y interpolées, afin de fournir des données interpolées pour l'agrandissemer.t. 10. Système selon la revendication 8, caractérisé en ce que l'interpolateur (18) comprend des moyens destinés à interpoler en outre des données Y séquentielles pour les données X interpolées, afin de fournir des données interpolées pour l'agrandissement. 11. Système selon la revendication 1, caractérisé en ce que les moyens d'agrandissement comprennent des moyens (18) destinés à interpoler entre chaque ensemble de quatre valeurs de données contiguës se présentant sous la forme d'une matrice A Y. 12. Système selon la revendication 11, caractérisé en ce qu'il comporte des moyens (26) destinés à scustraire chaque valeur de connées d'une valeur contiguë précédente, des moyens t27) destinés à multiplier les valeurs de différences par un.facteur d'agrandissement, des mcyens (29) destinés à.additionner -le produit à ladite valeur précédente, -et-des moyens (31) destinés à enregistrer la somme en vue. d'un traitement ultérieur. 13. Système selon la revendication 12, caractérisé en ce qu'il comprend des moyens (28) destinés à fournir le facteur d'agrandissement. 14. Interpolateur d'agrandissement destiné à permettre un agrandissement sélectif de données d'image selon un axe sélectionné (X, Y), caractérisé en ce qu'il comprend des moyens (14) destinés à enregistrer des va leurs de données dans des éléments de mémoire (17), de façon à définir une positions une valeur pour chacun de ces éléments, des moyens (13) destinés à sélectionner un facteur de valeur variable selon un axe sélectionné pour effectuer Un agrandissement, et des moyens (18) qui utilisent un facteur d'interpolation pour calculer des valeurs et des positions intermédiaires de façon à effectuer l'agrandissement sélectif