Brevet FR2466061A1 — publié le 19810327

L'invention se rapporte aux systèmes de visualisation d'images engendrées en temps réels par calculateur de scènes à trois dimensions pour la simulation au sol de vols et en particulier à la prévision de surfaces texturées. Les simulateurs de vols au sol sont utilisés de plus en plus pour l'entraînement au vol. La simulateur présente un cockpit et des commandes factices ainsi qu'un calculateur de vol qui calcule en temps réel les caractéristiques d'un vol réel au cours d'un exercice. En avant du cockpit on prévoit fréquemment un dispositif de visualisation du terrain survolé au cours de l'exercice. La présente invention se rapporte à de tels dispositifs de visualisation. Les dispositifs de visualisation obtenus par des moyens électroniques emploient de façon conventionnelle un ou plusieurs tubes cathodiques ou un projecteur du type télévision qui projette la vue sur un écran de projection qui est visé par le pilote en cours d'entraînement à travers la fenêtre avant du cockpit. La méthode de production de l'image peut alors-être celle du balayage calligraphique ou par trame. Bien qu'une méthode antérieure de génération d'images uti- lisait une caméra de télévision en circuit fermé se déplaçant au dessus d'un modèle du terrain à une certaine échelle, la majorité des simulateurs au sol sont maintenant fabriqués en utilisant des images obtenues par calculateur numérique. Ainsi qu'il a été indiqué-la méthode d'affichage visuel peut être soit calligraphique soit une méthode par balayage de trame. La méthode calligraphique se prête particulièrement à la représentation de scènes de nuit qui sont composées pres- qu'uniquement d'une représentation de points lumineux sur la surface du sol simulée. Un générateur par calculateur d'images de nuit exclusive- ment est composé d'un support de données portant des modèles de données numériques d'aéroportssélectionnés, enregistrés sur un ou plusieurs disques souples par exemple, d'un mini- calculateur pour le traitement préliminaire du modèle et dans la mémoire duquel est maintenu le modèle de l'aéroport couram- ment utilisé, d'un processeur spécial de transformation et d'un tube de visualisation de type à faisceau de pénétration. Un tel système type-est capable d'afficher visuellement une scène au sol contenant 6000 points lumineux et de plus d'éla- borer une surface impliquant jusqu'à 64 lignes de bordures. Une telle scène est naturellement calculée et affichée en pers- pective en temps réel au cours de l'exercice-de vol. Une limitation de la visualisation d'une image calligra- phique est que le temps requis pour faire apparaître un cadre d'image est fonction de la complexité de la scène. La sensi- bilité de l'oeil humain à la scintillation de l'image exige une fréquence de répétition de cadre d'environ 30 Hz et ceci établit une limitation pratique fonction de la complexité de la scène actuellement possible pour une visualisation en temps réel. Une -scène de jour de grande complexité, impliquant par exemple la vue non seulement de figures de pistes, mais aussi de surfaces solides de dispositions de terrains environnants, l'aéroport et les immeubles environnants de la ville, exige un dispositif de visualisation à balayage de trame. Le premier système connu de formation d'images en temps réel par calculateur était capable d'afficher une scène compre- 20. nant jusqu'à 240 lignes de bordures. Une ligne de bordure, c'est-à-dire une ligne divisant deux surfaces distinctes, dé- finissait l'environnement visuel-d'un tel dispositif de visua- lisation. Les lignes de bordures étaient transformées en plan de visualisation et étaient engendrées par incréments au mo- yen de générateurs structurels, non logiciels des lignes des bordures. Dans la présentation d'une scène à trois dimensions en perspective réelle les surfaces cachées étaient éliminées en utilisant des priorités programmées parmi les générateurs de lignes de bordure. Les sytèmes générateurs ultérieurs ont permis de réaliser des scènes plus complexes incluant la visualitation de sur- faces courbes. Ces sytèmes utilisent des polygones pour défi- nir l'environnement visuel et peuvent engendrer des scènes impliquant quelques centaines de polygones. De tels systèmes actuellement en développement sont capables de fournir des scènes ayant une complexité encore plus grande c'est-à-dire impliquant l'utilisation de quelques milliers de polygones. Cependant, les scènes définies seulement par les lignes de bordures ou les polygones ne peuvent jamais être réalistes de façon adéquate pour l'entraînement en vol. Bien que les scènes fournies par les systèmes générateurs d'images par calculateurs disponibles se soient révélées valables pour l'entraînemiient des pilotes de lignes, particulièrement dans les manoeuvres d'atterrissage et de décollage, ils sont ina- déquates pour de nombreuses opérations militaires. Les tecnniques connues sont incapables de tfournir de façon économique et en temps réel, des surfaces texturées de façon réaliste en perspective cnangeante et correcte. L'objet de la présente invention est un système généra- teur d'images par calculateur capable de visualiser des sur- faces planes texturées. Ainsi l'invention fournit un système de visualisation du type à image engendrée par calculateur, pour simulateur de vol basé au sol, fournissant un représentation de la vision d'un pilote d'une surface texturée simulée, transformée en perspective et balayée par trame rectangulaire, le système incluant un générateur de détails de surface comprenant un calculateur de transformation perspective et une mémoire de détails de texture de surface, le calculateur de trans- EO formation perspective étant un calculateur à canaux pour le calcul en temps réel de la transformation d'un plan de sur- face simulée dans le plan de visualisation du système d'af- fichage de façon continue au cours du vol simulé et corres- pondant au balayage des détails de structure de surface enre- gistrés pour fournir une texture à chaque élément de ladite trame rectangulaire de l'affichage de la vision du pilote. Afinr de faciliter la mise en oeuvre de l'invention, on considèrera l'art antérieur intéressé et un mode de réalisa- tion sera décrit en détail à titre d'exemple en se référant aux dessins annexes o Les figures 1 a 8 représentent l'art antérieur et les figures 9-41 la présente invention et dans lesquelles: la figure 1 est un schéma montrant l'effet des balayages configurés de façons différentes pour la caméra et pour le dispositif de visualisation la figure 2 est un schéma illustrant la configuration d'une trame de visualisation sur un plan différent; la f'igure 3 est un schéma en perspective et sous forme de blocs montrant l'appareil pour conformer la trame au moyen d'une image photographique; 4 2466061 la figure4 etla f-igure 5 sont des schémas illustrant le balayage sanris délorrzlatiorî d'une image pnotograpnique; la figure 6 est un dispositif de visualisation sous forme schématique montrant les défauts d'une image analysée par points mobiles la figure 7 est un schéma sous forme de blocs se référant à la description d'une conformation de trame au moyen d'une image enregistrée électrcniquement; la figure 8 est un schéma définissant les niveaux des détails de surface la figure 9 est un schéma sous forme de blocs d'un sys- tème d'affichage visuel de la présente invention; la figure 10 est un schéma en perspective illustrant le principe de la perspective linéaire; la figure 11 est un schéma isométrique montrant la géo- métrie d'une transformation perspective la figure 12 est un schéma définissant les trois jeux de coordonnées à trois dimensions utilisés; la figure 13 est un schéma définissant la position des points image sur la trame plane du dispositif de visualisation la figure 14 est un schéma représentant l'orientation d'un plan défini par rapport aux axes rectangulaires; la figure 15 est un schéma logique montrant la suite des phases de calculs dans un processeur à canaux; la figure 16 est un schéma expliquant la progression des calculs séquentiels dans le canal; la figure 17 est un schéma logique représentant une con- figuration de canaux parallèles la figure 18 est la suite dans le temps et le schéma des interfaces dans le temps d'un canal parallèle; la figure 19 et la figure 20 représentent des méthodes alternatives de celle de la figure 18, la méthode 19 étant ici la méthode préférée la figure 21 est un schéma sous forme de- blocs d'un géné- rateur de fonction linéaire à deux dimensions; la f'igure 22 est un schéma sous forme de blocs d'un mul- tiplieur à canaux; la figure 23 est un schéma illustrant le procédé d'une division par non restauration du complément à 2; la figure 24 es.t un schéma représentant un étage d'un 2466061 diviseur à canaux utilisant le procédé de la figure 23; la figure 25 est un schéma expliquant le canal arithmé- tique utilisant la configuration de la figure 17; la figure 26 est la suite des opérations d'un programme de commande du balayage du calculateur général; la figure 27 est un schéma en perspective illustrant la formation de l'image donnée par caméra de télévision d'une surface plane; la figure 28 est un schéma illustrant le procédé corres- pondant utilisant une ouverture conformée et imaginaire; la figure 29 explique l'effet de filtre d'une ouverture conformée dans une simulation exacte et la figure 30 explique l'effet modifié d'un filtre d'une ouverture approchée; la figure 31 représente la relation entre la grille d'é- lément image, les lignes de bordures de scène et la grille de quantification d'un affichage visuel; la figure 32 illustre le procédé d'échantillonnage par grilles assorties, montrant la relation entre l'intervalle d'échantillonnage et les fréquences spatiales maximum d'images la figure 33 correspond au schéma de la figure 32 mais représente une grille d'échantillonnage déplacée la figure 34 représente l'utilisation d'une grille de mémoire d'image fine; la figure 35 est un schéma des éléments de résolution de surface montrant un exemple d'espacement de cinq éléments; la figure 36 est le schéma correspondant o deux échan- tillons définissent le modèle complet dans une de ses dimen- sions la figure 37 montre l'adressage de niveau zéro qui con- tient 4096 échantillons; la figure 38 est un schéma sous forme de blocs montrant le système complet de mémoire; la figure 39 montre les lignes de trame conformées pour trois angles différents du roulis de l'avion-avec une incli- naison et une dérive nulles; la figure 40 représente une configuration approchée de code de niveaux; la figure 41 est un schéma sous forme de blocs d'un géné- rateur de détails de surface utilisant le principe de la trame roulée et prévoyant des enregistrements séparés pour les domaines pairs et impairs; la figure 42 est un schéma représentant la forme d'une trame conformée dont l'espacement d'échantillons est constant tout au long des lignes-de trames. Pour la représentation correcte de la texture d'une sur- face d'une image perspective calculée, la texture doit être définie comme une partie du support géométrique des données qui définissent l'environnement visuel-.- Il est alors possible de soumettre la texture aux mêmes transformations que celles appliquées aux points, lignes et polygones de la scène. Ce procédé assure la fixation des-textures à leurs surfaces respectives et entraîne les mêmes variations de perspective à la fois statique et dynamique. Par contre, des méthodes ont été proposées pour appli- quer la texture à l'image transformée c'est-à-dire consistant à texturer le plan de visualisation. La texturation du plan de visualisation peut être utili- sée pour certains effets. Ainsi la scintillation de la lumière du soleil des surfaces d'eau peut être simulée aisément en injectant des impulsions au hasard dans les zones de scènes représentant de l'eau. Ureautre application est celle de la simulation des gouttelettes d'eau sur les appareils de visée ou parebrises fixes par rapport à l'observateur et par consé- quent non sujet à un changement de perspective. Une approximation pour corriger la perspective des textu- res a été proposée et dans laquelle la proximité des éléments de texture est accrue dans le direction de l'horizon affiché. Bien qu'un certain réalisme s'ajoute à l'ensemble de la scène, cet expédient est inadéquate pour les manoeuvres o la percep- tion de la profondeur et de la pente est importante. Une limitation toujours présente de la texturation du plan d'affichage est que les structures ne sont pas fixes par rapport à leur surfaces respectives de sorte que,-avec un changement de scène, l'effet est analogue à la vision du monde à travers un modèle formé de réseaux de rideaux. La texturation peut alternativement être ajoutée au gé- nérateur d'images par calculateur en définissant la texture en termes de lignes de bordure, de façon similaire aux autres caractéristiques de.la scène. Pour un système à temps réel cependant, cette méthode est impraticable en raison du grand nombre de lignes de bordures nécessaires. La texturation du plan de visualisation n'est pas effi- cace ou n'est pas économique sauf' pour les effets limités et une méthode alternative doit être utilisée. L'une d'elle est le principe de conformation de la trame de la présente invention décrit ci-après. Ce principe peut être décrit comme suit en termes de sys- tème de télévision. Si les trames de balayage de la caméra et du tube diffè- rent, l'image affichée est déformée. Si la trame de la caméra est modelée et que la trame du tube d'affichage a un format normal, l'image affichée subit une tranformation qui est l'inverse de celle appliquée à la trame de la caméra. La figure 1 montre l'effet d'une telle configuration de la trame. Le diagramme de gauche représente le champ de visée comprenant un objet carré sur un domaine rectangulaire. Le diagramme central montre la configuration trapézoïdale de la trame de la caméra et le diagramme de droite l'objet affiché résultant de la transformation inverse. L'effet s'étend en outre à une distorsion bi-dimension- nelle et même à une distorsion non linéaire. Un cas particulier est celui de la déformation inverse de la perspective. Si une transformation inverse de la pers- pective est utilisée pour configurer la trame de la caméra, alors l'objet se projette en perspective. La figure 2 explique le principe d'une telle déformation inverse de la perspective. Un observateur en 0 vise le plan S. En face de l'observateur se trouve le plan de visualisation D, défini par une trame de balayage R. Dans une simulation, l'image dans le plan D doit être identique à la vue de l'ob- servateur du plan S du monde réel. Considérons la projection de la trame du dispositif de visualisation R 'sur le plan S, telle que figurée en T, la trame T déformée par la projection, représente la déformation inverse requise de la perspective. Les détails de surface sur le plan S, explorés par la trame déformée R seraient ainsi affichés dans le plan D en perspective correcte. Le même principe est utilisé par l'invention à la création - 8 2466061 d'une image synthétique à partir des données d'une image en- registrée représentant le plan S, en utilisant un prélèvement balayé des informations et soumis à une déformation inverse de la perspective. La mise en oeuvre de cette méthode implique le calcul en temps réel de la transformation inverse de la perspective de façon continue au cours du changement de la position et de l'attitude de l'observateur ainsi que de son plan de visua- lisation par rapport au plan visé simulé. La figure 3 est le schéma, partiellement en perspective et partiellement sous forme de blocs, représentant une utili- sation connue d'une méthode de formation de la trame dans un système de télévision à circuit fermé. Dans la figure 3, un plan objet 1 comporte une figure rectangulaire 2 qui est balayée par l'analyseur à point mobile 3 au moyen d'un système optique associé 4. Le signal vidéo est fourni par un tube photo-électronique 5,amplifié par l'am- plificateur vidéo 6 et transmis au tube cathodique de visua- lisation 7 pour fournir l'image 8. Un seul générateur d'impul- sion de synchronisation 9 dessert à la fois le générateur 10 de base de temps de l'analyseur à point mobile et le généra- teur 11 de base de temps du tube à rayon cathodique. Le bala- yage de la trame du tube à rayon cathodique 7 est un balayage rectiligne normal. Le balayage de trame de l'analyseur à point mobile est un trapèze dont la base supérieure est plus étroite que la base inférieure, comme représenté figure 1. La forme du balayage de la trame du plan 1 est déterminée par un géné- rateur de transformation 12 sous le contrôle des dispositifs de commande 13 de la déformation. Du fait que la balayage à point mobile est un trapèze plus étroit à sa partie supérieure qu'à sa base inférieure et du fait que le balayage de la trame du tube 7 est rectiligne, le rectangle 2 est transformé en un trapèze 8 qui est l'inver- se du balayage à point mobile et ainsi est plus large à la partie supérieure qu'à la base. Si le plan objet 1 est la projection ou la photographie de la vue d'un terrain, l'image 8 du tube cathodique représen- te une transformation perspective qui, si les commandes de déformation 13 sont conçues en fonction de cette transformation, peut produire la transformation en perspective de la figure 2, 9 2466061 o le plan 1 correspond au plan S et o l'image 8 est fournie par le plan D. La balay4e de l'image photographique selon la figure 3 est sujet à un important problème, celui d'une sélection impro- pre. Les figures 4 et 5 illustrent les exigences d'une sélec- tion correcte. Dans la figure 4, les parties des lignes de balayage suc- cessives 15 sont représentées sur le plan 1. La ligne 16 est représentée perpendiculairement à la direction du balayage des lignes du plan 1. La figure 5 représente une coupe le long de la ligne 16 de la figure 4 représentant les profils des points mobiles 15.1, 15.2 et 15.3 de trois lignes successives du balayage de trame 15. La configuration du balayage par points du plan 1, repré- sentée en profil sur la ligne 5, est choisie de façon que l'information maximum à partir de l'image du plan 1 soit dis- ponible par le balayage 15. Un profil de points trop étroit donne lieu à un recouvrement dans le spectre des fréquences de l'image échantillonnée. Trop large, le profil des points aboutit à une réduction non nécessaire de la fréquence vidéo c'est-à-dire à une image sujette à des éblouissements. La figure 6 représente un tableau résultant d'une trans- formation perspective par un système similaire à celui de la figure 3 o le tableau contient l'image perspective transfor- mée d'une piste 20 dans le plan 1, s'étendant de l'observateur vers l'horizon 22 séparant le plan 1 de la zone de ciel 21. Pour fournir l'image de la figure 6, la trame de balayage de l'image photographique est déformée pour être plus large sur l'horizon 22 et plus étroite au premier plan 24. En consé- quence la reproduction de l'image affichée est seulement sa- tisfaisante dans la région médiane 23. Le premier plan 24 devient éblouissant et dans l'arrière plan 25 l'image se désa- grège. Le développement d'un tel système o la dimension de l'i- mage de la zone de balayage est variable présente des problè- mes optiques et électroniques considérables. Aucun système de ce genre n'a en fait été développé. Le principe de la transformation perspective s'applique aussi bien à l'image enregistrée électroniquement qu'à l'image 2466061 enregistrée sous forme photographique. La figure 7 est un schéma représentant les éléments de base d'une système électronique entièrement connu; Dans la figure 7 un générateur 9 d'impulsions de synchronisation com- mande à la fois un calculateur 26 de transformation perspec- tive et le moyen de visualisation 28. Une mémoire de détails de surface 27 est mise en service sous le contrôle du calcu- lateur de transformation 26. Les données de la position et de l'attitude du point de visée sont fournies au calculateur de transformation en 30 de façon que les coordonnées des points de prélèvements soient définies en 31. La transformation perspective inverse est calculée en 26 pour fournir une sortie de la position du point de prélèvement défini soit par deux tensions analogiques soit par deux nom- bres numériques. La mémoire 27 est commandée au moyen d'adres- ses convenables et un signal de sortie correspondant définis- sant la brillance et la couleur de l'image de surface au point de prélèvement défini est transmis pour moduler le balayage de l'affichage en 28. I Le premier système connu de ce genre est celui du généra- teur de surface de la NASA développé en 1964 pour le program- me spatial par la "GeneralELectric Company". La sortie du cal- culateur de transformation 26 comportait deux nombres numéri- ques représentant le point échantillonné calculé à une vitesse de 5 MHz. Dans ce système, la mémoire des détails de surface ou "table de configuration" est insérée simplement comme modèle synthétique défini logiquement. En utilisant seulement les po- sitions binaires d'ordre les plus faibles des vecteurs d'é- chantillonnage, il est possible de créer un modèle répétitif - couvrant la surface entière, désigné par les termes "contact analogique." La table de configuration était structurée en une dispo- sition à quatre degrés de niveau, chaque niveau défini par une matrice d'ordre 8x8 fournissant une'sortie à un bit dési- gnant l'une des deux couleurs possibles. Des réseaux complexes de modèles ont été obtenus en com- binant les sorties des niveaux de tables par des dispositifs logiques, chacun des niveaux contribuant au modèle de texture sur des régions répétitives de dimensions définies. Ces régions il 2466061 structurées de façon que les modèles correspondant à plusieurs niveaux soient groupés l'un dans l'autre. La figure 8 montre le principe appliqué. Dans la figure 8, les axes 32,33 définissent l'axe X et l'axe Y du plan 34 de configuration. Les aires 35, 36,37,38 montrent respective- ment les aires de configuration correspondant aux niveaux 1, 2,3 et 4 chaque niveau définissant une aire égale au quart du niveau précédent. Une telle organisation hiérarchique des niveaux du modèle rend possible les transitions d'un niveau de détail à un autre en éliminant la contribution de la configuration dont les cellules avoisinent la structure des cellules de la trame. Les résultats affichés par ce système, bien que présentant de nombreux défauts d'échantillonnage constituaient néanmoins un état de l'art très satisfaisant à l'époque. Plus récemment, on a décrit à la demande de brevet britan- nique 79.13058 un système fournissant des détails de surface simples pour le survol de systèmes nuageux. Le texte décrit un appareil d'affichage visuel pour un simulateur au sol de vol d'engins utilisant un calculateur de vol comprenant un moyen d'affichage de type à balayage de trame pour la visée par un observateur pilote en formation, un moyen générateur d'images synthétiques pour transférer au moyen d'affichage un signal représentant une image du ciel, l'horizon et une surface simulée conforme à un modèle s'étendant jusqu'à l'ho- rizon, ladite surface de modèle étant affichée en perspective réelle en fonction de l'attitude simulée et de la position dans l'espace de l'engin simulé et un calculateur programmable à destination générale, connecté à l'interface dudit calcula- teur de vol et dudit moyen Générateur d'images synthétiques, ledit moyen générateur d'images synthétiques comprenant une mémoire numérique pour maintenir un seul cycle de modèle d'un modèle répétitif pour conformer ladite surface conformée dans une dimension, un calculateur de perspective pour le calcul du chemin d'un rayon issu de l'oeil de l'observateur, dans la zone de balayage du moyen d'affichage, dans sa position instantanée, et à un point d'intersection de ladite surface simulée conforme au modèle, un élément du calcul pour fournir une sortie de signal du moyen d'affichage représentatif d'une portion du ciel de brillance variable et un moyen de commuta- 12 2466061 tion pour transmettre sélectivement au moyen d'affichage soit le signal représentatif de la surface conformée soit le signal représentatif d'une portion du ciel de brillance variable et de façon continue au cours du balayage de trame du moyen d'af- fichage. * Aucun projet n'a été publié pour l'application de la tech- nique de trame conformée de balayage d'images aux images en- registrées numériquement en demi-ton, telles qu'elles seraient requises pour les affichages de cibles ou de terrains texturés de façon réaliste. Description d'un exemple. Un mode de réalisation particulier de l'invention est d'abord décrit en référence à la figure 9 qui est un diagramme schématique montrant un générateur complet de texture de sur- face pour l'affichage d'un plan de terrain. Les éléments de la figure 9 sous la forme schématique de blocs sont ceux dé- crits et exposés en plus de détails en se référant aux figures -41. Dans la figure 9, un pilote en cours de formation 10È, assis dans un cockpit factice d'un simulateur de vol au sol, a un dispositif de visualisation disposé devant lui sur un écran 101 à projection arrière et a des commandes de vol fac- tices représentées par le manche de commande 102. Les données de réglage des commandes sont transmises par la ligne 103 à un calculateur de simulation de vol 104 d'une manière usuelle. Les données de position de l'avion et d'attitude sont fournies vingt fois pas seconde par le calculateur de simulation de vol 104 au moyen de la ligne 105 au calculateur général 106. L'image d'affichage visuel sur l'écran 101 est produite par un projecteur 119 du type télévision alimenté par un signal vidéo sur la ligne 118. Le balayage de trame de l'ima- ge projetée est contrôlé par le générateur d'impulsion de synchronisation 120 qui fournit les impulsions de synchronisa- tion de lignes et de trame au projecteur 119 sur la ligne 122. Les données élaborées sont transmises du calculateur gé- néral 106 au dispositif de balayage de surface 108 au moyen de la ligne 107 une fois pour chaque champ affiché. Le dispositif de balayage de surface 108 est un disposi- tif à canaux décrit particulièrement en référence à la figure 19. 13 2466061 Les valeurs de xp et y. définies selon les équations (1) et (2) explicitées plus loin sont appliquées pour chaque do- maine d'affichage du dispositif de balayage de surface 108 à la mémoire des textures 111 au moyen des lignes 109 et 110 respectivement et les impulsions de synchronisation sont four- nies au dispositf de balayage de surface 108 à partir du gé- nérateur d'impulsions 120 au moyen de la ligne 121. La mémoire des textures 111 est agencée de la manière décrite en référence à la figure 38, décrite plus loin, et les détails de texture échantillonnés par les coordonnées d'entrée sont transmis en nombre numérique au moyen de la li- gne 112 à un commutateur 113. On remarquera que l'information de texture de la surface plane du sol, à laquelle se rapporte particulièrement la présente invention concerne la partie de l'image affichée qui se trouve au dessus de l'horizon simulé. Dans le disposi- tif donné en exemple sur l'écran 101 de la figure 9, on a re- présenté une piste sur le plan du sol et le ciel au dessus de l'horizon. Pour compléter le système d'affichage visuel de la figure 9, on a inclu un générateur de ciel 114 qui four- nit une entrée numérique alternative au commutateur 113 au moyen de la ligne 115. Le commutateur 113 sélectionne soit l'information de plan du sol soit l'information du ciel à par- tir respectivement des lignes 112 ou 115 au cours de chaque balayage de lignes à la transition sol/ciel définie par l'ho- rizon. Cette transition s'effectue de la façon connue décrite à la demande de brevet britannique 79.13058 indiquée précé- demment. La sortie sélectionnée du commutateur 113 est transmise par la ligne 116 au dispositif de conversion numérique analo- gique 117 et le signal analogique vidéo est appliqué par la ligne 118 au projecteur 119, déjà indiqué. Afin de réaliser de façon concrète un générateur de dé- tails de surface selon la figure 9, les deux sous-systèmes principaux doivent etre explicités. Le premier est le calcula- teur de transformation de perspective, ou dispositif de bala- yage des détails de surface 108 et le second est la mémoire des détails de surface ou mémoire des textures 111. L L'explication et la description du dispositif de balayage de surface 108 seront données en premier. -14 Z 2466061 Cependant il est d'abord nécessaire de définir les objets de la transformation perspective ainsi que les coordonnées et les termes mathématiques utilisés dans la description. La figure 10 est un schéma en perspective représentant un objet solide 40 de monde réel visé directement par un observa- teur 0. Une image 41 est affichée dans le plan d'affichage intermédiaire 28 qui est l'équivalent visuel de l'objet 40, c'est-à-dire que l'oeil de l'observateur O ne peut en aucune façon distinguer l'image 41 de l'objet 40. Comme représentée, l'image 41 est soumise à une transformation perspective par rapport à l'objet 40. La figure 11 est une représentation à trois dimensions montrant la géométrie d'une telle transformation perspective à partir du plan objet 42 sur le plan d'affichage 28. La figure 12 est une représentation à trois dimensions représentant la relation des trois jeux de coordonnées se rapportant respectivement à.une origine fixe du monde réel, à une origine sur l'avion simulé et à une origine à l'oeil de l'observateur. uni point P sur le plan d'affichage est défini en position par rapport aux trois jeux de coordonnées. La figure 13 définit le lieu du point P sur la trame du plan d'affichage 28. La fonction du dispositif de balayage de la surface est de fournir des solutions continues en temps réel aux deux équations: X [-osH+sin (sintgecos tg) cosW-(cos tg>+sinktgX)sin> (1) p o sin0+(cosotgg-sin tgA)cosO yDyH cosC+sin%(sinktgA- cositg" sinY+(cos4tg+sin4tgY)cosy (2) yp YO -H sin+ (cosJtgY-sin tgAJ)cosZ Ces équations relient la position du point (xpyp) d'échan- tillonnage de la surface par rapport à l'attitude de l'obser- - vateur défini par %, 9 et È, à son déplacement par rapport à l'origine de la surface (Xo,Yo,H) et à la position du point de balayage d'affichage défini par tg et tgX. Comme on peut le voir figure 13 tgA et tg4 sont les coordonnées rectangulai- res réelles du point de balayage sur le plan d'affichage 28 et varient ainsi linéairement lorsqu'un balayage rectangulaire est utilisé. Le dispositif de balayage doit calculer une va- leur de xp et yp pour chaque valeur de tg> et tg entre les limites d'affichage du plan d'affichage 28 en synchronisme 2466061 avec le balayage du dispositif de visualisation. La structure et les propriétés ce la transformation pers- pective elle-même, représentée parles équations (1) et (2) sont examinées ci-dessous. Les deux équations de transformation (1) et (2) doivent être calculées pour chaque valeur de tg> et de tg', c'est-à- dire pour chaque élément d'image de chaque cadre d'affichage. Pour un système de 625 lignes à 50 Hiz avec des éléments d'image carrés, tgX varie à une fréquence de 15 MHz et tgx à une fréquence de 15.625 KHtz. Le dispositif d'affichage standard choisi du type de té- lévision détermine la vitesse de calcul de la transformation perspective choisie. La formule de calcul requise est donnée par les deux équations suivantes: a + bx tgA x= X-H 3 p o c + d tg ( y Y aYoyHay g (4) YP c + d tgKA Considérons d'abord les parties qui se modifient à la fréquence de l'élément d'image, c'est-à-dire les parties qui sont fonction de tg\; on voit que tgXest proportionnelle à la distance horizontale de l'élément à partir du centre de la li- gne de trame. Elle est en fait égale à cette distance sur l'unité de visualisation, comme représenté à la figure 13. Ainsi les numérateurs et dénominateurs des équations (3) et (4) sont tous les fonctions linéaires de cette distance, la- quelle est elle-même connue à des intervalles égaux le long de la ligne. Les valeurs de a,a et c sont de même des fonc- tions linéaires semblables de tg qui est proportionnelle à la distance verticale d'une ligne à partir du centre de l'é- cran. Une représentation à deux dimensions d'une de ces fonc- tions dans les équations (3) ou (4)est donnée avec F à la figure 14, dans laquelle la pente d'un plan est donnée dans la direction tga par FA dans la direction tek par Fy. Ceci est conforme à l'interprétation géométrique de la figure 11 o les trois fonctions linéaires des équations (3) et (4) repré- sentent la distance du point de balayage du point de visée dans les trois axes liés au sol X, Y, Z. Si l'on se réfère à la figure 14, le plan (tg\, tgX) peut être identifié au plan 28 et les valeurs de F à l'une des trois distances. En général les valeurs de Fo, FA et Fïvarient pour chaque cadre d'affichage, définissant ainsi une nouvelle fonction li- néaire à deux dimensions. Ces fonctions peuvent être calculées par incréments ainsi: x (A,) = x (-aobo) + mAxA tg> + nAxratg. (5) Ay (,) = A ( (-ao,bo) + mAyAtgA\ + nAy tgé (6) B (A,) = B (-a0o,b0) + mBA atgX + nBe ûtgF (7) o Ax (,)est le numérateur de l'équation (3) (ou de 1) Ay (>,) est le numérateur de l'équation (3) (ou de 1) A (À, ,E) le dénominateur de ces équations m le numéro de l'élément d'image (m = 1,2,3...) n le numéro de ligne (n = 1, 2,3...) Atg> l'accroissement élémentaire de tgX Atg Y l'accroissement élémentaire de tg Axx is A yA% j les pentes Ax, Ay, B dans la direction A lx y,, A Ay t les pentes Ax, Ay, B dans la direction - Dans le mode de réalisation le plus direct, les résultats désirés xp et yp peuvent être.calculés en effectuant les divi- sions Ax/B et Ay/B, les multiplications par H et les soustrac- tions de X et Yo,toutes ces opérations étant effectuées à la fréquence de l'élément d'image. Afin d'obtenir la fréquence de calcul requise, une forme de calcul en parallèle est utilisée. Dans un processeur paral- lèle efficient, c'est-à-dire dans un processeur o les élé- ments arithmétiques ne sont jamais inactifs,on peut aisément trouver le temps nécessaire pour calculer l'équation (3) ou l'équation (4). Les paramètres d'entrée pour ce calcul sont les caractéristiques de fonctionnement de la technologie du circuit utilisé et des algorithmes choisis. Les types d'algorithmes arithmétiques qui peuvent être considérés sont limités par la forme d'architecture du systè- me et le canal qui sont choisis. Dans un calcul conventionnel, un premier jeu de données est injecté et se propage dans un dispositif logique jusqu'à ce que la rCéponse soit obtenue. A tout instant, seulement une petite partie de la logique est utilisée. En conséquence, la 17 2466061 capacité du système est faible et le système a un rendement faible. Lorsqu'un calcul total peut être divisé en"un grand nom- bre de calculs partiels., un processeur à canaux peut être uti- lisé. Cnaque calcul partiel occupe un étage séparé du proces- seur, en séquence, une mémoire étant comprise entre chaque étage. La premièi injection de données se propage dans tous les étages séquentiels mais, comme chaque étage est libéré, de nouvelles données peuvent suivre, de sorte que chaque éta- ge est occupé simultanément, accomplissant son propre calcul partiel et enregistrant sa propre réponse dans sa propre mémoire. Bien que la durée du transfert soit la somme des périodes des sous-calculs, la vitesse de calcul obtenue est celle de la période d'une phase de calcul partiel étant donné qu'une nouvelle réponse complète est disponible à chacune de ces périodes. Ce système a été décrit dans la littérature technique par exemple dans l'article de T.G. Hallen et M.J. Flynn (Canalisation des fonctions arithmétiques) "Pipelining of arithmetic fonctions" IEEE Trans. Comput. Vol. C-21 pages 880-886 d'août 1972 et dans l'article de J. Deverell (Rléseaux de canaux arithmétiques itératifs) "Pipeline Iterative Arith- metic Arrays" IEEE Trans. Comput. pages 317-322 de mars 1975. La forme canalisée de traitement de l'information en parallèle a été utilisée ici principalement en raison de sa facilité de mise en oeuvre et de sa souplesse. Aucune logique complexe de commande n'est nécessaire et la structure du cal- cul est incorporée par construction. Le sous-système de la mémoire de surface est aussi organisée de façon commode comme canal, de sorte qu'un système complètement homogène a été construit. La structure en canaux permet un grand rendement dans un système o la fréquence minimum de calcul du système est une exigence comme cela est le cas dans le présent dispositif de balayage de surface. Le calcul peut s'effectuer par canaux en le décomposant en phases, chacune d'elles étant exécutée par un réseau logique en une seule période (66 2/3 ns pour une fréquence base de temps de 15 MH1z). A la fin de chaque phase de calcul, le résultat est resynchronisé avec l'horloge du registre de synchronisation. La figure 15 montre la forme 18 2466061 d'un système à canaux, et la figure 16 illustre la progres- sion d'un calcul à n phases traversant un canal. On doit noter que le temps de calcul complet est de n cycles d'horloges et que de nouveaux résultats sont disponibles à chaque cycle.- L'intérêt de ces canaux est de pouvoir être commandés en pa- rallèle et d'être dérivés et réunis comme le représente la figure 17 pour répondre à un calcul particulier. La solution des équations (3) et (4) peut être obtenue de différentes manières. La figure 18 représente la voie la plus-évidente cependant que les figures 19 et 20 montrent des méthodes plus économiques. Le choix entre la méthode de la figure 19 ou de la figure 20 dépend du coût relatif des multiplieurs et diviseurs agencés en canaux et dépend encore du nombre de bits requis. Des considérations d'échelle et de précision définissent ce choix. Les résolutions du générateur de fonctions peuvent être déterminées en examinant leur effet sur l'horizon affiché dont la position est donnée comme le lieu des points o B=O. L'angle de roulis résoluble le plus petit est approximativement tg-1(l/800) donné par la dimen- sion de la grille d'un élément d'image. Pour une inclinaison nulle: B (>, 1) = cosétg- sin4tgX (8) Pour la génération de cette fonction par incréments (selon l'équation 7) les grandeurs de BX et B sont approxi- mativement: tg-1 (1/800)ÉtgX (ou tg- (l/800)AtgKpuisque -19 -20 AtgeAtgY) c'est-à-dire sont comprises entre 21 et 22 Etant donné que la valeur maximum absolue de B est de 1,16 il est nécessaire d'utiliser 22 bits pour engendrer la fonc- tion B. Le même type de considération est utilisé pour les angles d'inclinaison et de dérive pour l'utilisation des fonc- tions A ou A respectivement. En pratique 22 bits sont consi- x y dérés comme suffisants dans tous les cas. Cependant, 24 bits sont utilisés pour les générateurs de fonction puisque les blocs de circuits arithmétiques se présentent généralement sous la forme d'unités de quatre bits.^.Avec les 20 bits utili- sés pour la représentation de xp et de yp, toutes les unités arithmétiques sont conçues pour des entrées à 24 bits, quatre bits étant inutilisés pour tenir compte des erreurs d'arrondis. Le choix entre les arrangements des figures 18 et 19 peut ainsi être fait. L'arrangement de la figure 19 a été choisi 19 2466061 parce que deux cartes de circuits de moins sont nécessaires. Les unités arithmétiques comportent a) un générateur de fonction linéaire à deux dimensions à 24 bits b) un multiplieur à canaux à 24 bits et c) un diviseur à canaux à 24 bits. Le but du générateur de fonction est de produire les valeurs de la fonction F, selon la formule F(1,\) = F(-ao,bo) +mF AtgY+ nFY tg' (9) La figure 21 montre sous la forme d'un schéma de blocs comment une telle fonction peut 8tre calculée. Ce procédé est en outre décrit à la demande de brevet britannique 79.13058 citée précédemment. Le multiplieur à canaux, représenté à la figure 22 est basé sur l'utilisation d'unités connues sous la référence "Texas Instruments 74 LS 261". Ce dispositf qui fonctionne sous une forme modifiée de l'algorithme de Booth dans laquelle les bits du multiplieur sont examinés trois fois est utilisé dans la configuration recommandée. Aucune logique spéciale n'est nécessaire pour traiter les valeurs négatives et l'ensemble multiplicateur produit un résultat correct du complément à 2. Les bits fournis par les produits partiels sont combinés dans un branchement addi- tionneur utilisant des additionneurs à reports du type "74 H 183". Deux jeux de registres à canaux sont requis, l'un après la multiplication et l'autre dans le branchement additionneur. La division est traitée par un algorithme sans restaura- tion. La figure 23 représente sous forme graphique l'exemple (-3/8: 1/2) calculé par cette méthode. La méthode sans res- tauration consiste à ajouter ou à soustraire les puissances du diviseur de façon à réduire la valeur absolue du dividende partiel et pour une division le reste de la division a une valeur moindre que celle du diviseur et peut avoir un signe opposé. Dans ce cas le quotient doit être encore corrigé, mais étant donné que ceci n'introduit qu'une erreur dans le chiffre d'ordre le moins significatif on peut l'ignorer. L'algorithme est aisément réalisé par un canal dont un étage est représenté à la figure 24. Chaque calcul est effec- tué au moyen d'un additionneur/soustracteur commandé par un élément logique - ou exclusif des bits d'ordre le plus signi- 2466061 ficatif du diviseur et du dividende partiel. Après chaque addition/soustraction un décalage est effectué en omettant le dividende partiel du bit le plus significatif et en substi- tuant un nouveau bit dans le dividende partiel à la position la moins significative. Après chaque phase de division le registre quotient non utilisé du dividende contient un bit de quotient de plus et-un bit de moins inutilisé du dividende jusqu'à ce qu'à la fin il ne contienne que les bits du quo- tient. La phase finale de la division est la correction du quotient qui convertit les nombres exprimés en code +1,-1 dans leur complément à deux. Toutes les unités additionneur/souttracteurs du diviseur sont des unités arfithnétique/logique connues sous la référen- ce "TexasInstrumnents 74 S 181" les unités de report portant la référence "Intel 3003". Le schéma d'un canal pour le calcul complet de la trans- formation peut être maintenant tracé selon le principe de la figure 17 qui est donné à la figure 25. On notera que les générateurs des fonctions A et A sont affectés par les x y conditions initiales A (-a,bo) et Ay (-a, bO) en raison de leur position-dans le canal. La figure 25 montre aussi l'é- chelle de tous les facteurs. Les trois générateurs de lfonction, chacun à trois entrées, sont connectés à un calculateur général par sa ligne générale Z5 I/0 d'entrée et de sortie des informations. Les transferts de données entre le calculateur et les générateurs de fonction interviennent chaque fois qu'une instruction de sortie con- tenant l'une des neuf' adresses du générateur de fonction est éxécutée. Ces transferts interviennent au cours des périodes de suppression du faisceau du dispositif' de visualisation. Le programme du calculateur doit donc comprendre des moyens de détermination de la présence de ces périodes. Ceci est obtenu par l'utilisation du système de mise en drapeau des.lignes entrée/sortie du calculateur. Un dispositif drapeau comporte un basculateur qui peut être commandé par un signal externe. L'état du basculateur peut être détecté par le calculateur (en utilisant les instructions d'entrée et de branchement conditionnel) et peut être restauré (en utilisant une instruc- tion de sortie). Deux dispositifs drapeaux sont utilisés pour la synchro- 21 2466061 nisation du programme pour la trame d'affichage: un drapeau pour undomaine impair et un drapeau pour un domaine pair. Le drapeau de domaine impair est commandé au début de la période de suppression d'un domaine impair et le drapeau de domaine pair au début de la période de suppression de domaine pair. Le calculateur doit être inoccupé à la fin d'un domaine pair ou impair et être ainsi capable de détecter de façon perma- nete l'état des deux drapeaux. Lorsque l'un de ces drapeaux a été commandé, le programme contrôle-les générateurs de fonc- tion par les nouvelles données calculées au cours du domaine précédent, et restaure le drapeau. Les calculs de données fournies pour le nouveau domaine peuvent alors être effectuées en utilisant la donnée d'entrée disponible la plus récente. Ce calcul doit se terminer avant la fin du domaine en cours. Le schéma de la suite des opérations de la figure 26 montre comment le programme est organisé. On notera qu'au cours d'une phase relative à un domaine pair, les conditions d'établissement du domaine impair sont calculées et vice versa. De nouvelles données définissent le point de visée, l'atti- tude et la position sont lues pour chaque domaine. Le second sous-système du générateur de détail de surface de la figure 9 qui est la mémoire 111 de texture de surface est décrite ci-dessous. La mémoire de surface accepte comme entrée le vecteur (x 'y) qui représente la surface d'intersection à une fréquen- p p ce de 15 àMiz et délivre en sortie un signal vidéo qui peut être directement transmis au dispositif de visualisation après conversion digitale-analogique. Le problème posé est en tota- lité celui de la- commande du recouvrement. La figure 27 et la figure 28 sont des schémas en perspec- tive représentant le procédé de visée d'une surface plane tex- turée en perspective. La figure 27 représente la visée par caméra de télévision. Cette figure représente le plan textu- ré 46 visé par la caméra selon l'axe 47. Le plan image de la caméra est représenté en 48. La figure 28 montre le plan tex- turé 46 vue le long de l'axe 47 et le plan 48 représente le plan d'affichage. Si l'on considère le procédé de production d'image de la caméra de télévision de la figure 27, on voit que gour toute position de balayage de la trame de télévision, un rayon peut 22 2466061 être tracé du centre de-projection (point de visée sous forme d'image) à la surface 46 qu'il intercepte au point A. L'ac- tion du système optique de la caméra et du faisceau de balaya- ge peuvent être combinées en imaginant une "ouverture" cor- respondant à une distribution similaire à celle de la figure 27. L'effet de cette ouverture est d'intégrer l'information des parties environnantes de la distribution de l'éclairement sur le plan image par une seule valeur qui correspond au signal vidéo pour ce point du balayage de trame. Dans une ca- méra bien réglée, l'étendue de cette ouverture est telle qu'une quantité maximum possible d'information est recueillie du domaine visé. En d'autres termes le filtre de pré-échantil- lonnage doit être correct. Une trop petite ouverture produit des recouvrements cependant qu'une ouverture trop grande en- traîne d'inutiles éblouissements. Ainsi, l'image correspondant au point A est établi à partir de l'éclairement de la région de la surface au voisinage de A. Le point A suivant est celui du plan image déterminé par la plus grande dimension de l'en- vironnement et le minimum de détail de l'image. La figure 28 représente un autre moyen de considérer ce procédé qui est moins lié au processus physique. Ici l'ouver- ture est configurée sur la surface 46 elle-même. Le signal vidéo correspondant au point B du balayage est établi à partir des éléments de la surface tombant dans l'ouverture figurée. En termes de traitement du signal, un filtre bi-dimensionnel * est appliqué à la distribution de l'éclairement de la surface. La forme et l'étendue de ce filtre est une fonction de la distance et de l'inclinaison de la surface et est en général asymétrique. Une mise en oeuvre directe de ce procédé est impossible en raison des problèmes extrêmement nombreux de calculs et d'accès aux mémoires qui seraient soulevés. L'accès en paral- lèle des valeurs de texture à la fréquence de 15 MHz et leur combinaison dans un filtre variable bi-dimensionnel est peu pratique. La première hypothèse de simplification réside dans l'u- tilisation d'une ouverture bi-dimensionnelle à configuration symétrique. Ceci est justifié de façon subjective puisque la plus grande distorsion de l'ouverture intervient lorsque le détail affiché est le plus petit. Dans cette hypothèse, le filtrage hors ligne et prédéterminé de préférence au filtrage sur ligne est possible. La mémoire additionnelle requise pour maintenir les textures préfiltrées nécessite moins d'espace de mémoire qu'un filtre nécessaire pour fonctionner à 15 ivlHz. L'architecture de la mémoire peut aussi être considérablement simplifiée puisqu'un échantillon seulement doit être lu toutes les 66 ns 2/3. Le second problème est celui de la sélection du filtre. La détermination en temps réel du degré du filtrage de la texture est nécessaire. Une possibilité est d'utiliser la distance du point de visée à la surface. Cette distance est donnée par: ii1 + tg2A + tg (10) d _-- sinr + cost (cos4tg- sin4tg) - La valeur de d peut être la valeur approchée: di H (11) o l'erreur maximum est d'environ 14 % au coins de l'écran. Cette quantité est "gratuitement" disponible dans le canal arithmétique de la figure 20. L'utilisation de cette valeur doit cependant être rejetée car il n'existe aucune relation simple entre la dimension de l'ouverture configurée et la distance. Etant donné que l'approche de la conception du filtre est basée sur le contrôle du recouvrement, la distance entre les intersections est une mesure utile et aisément acquise. Le système de mémoire est basé sur le principe de hié- rarchie décrit précédemment, mais ici les niveaux hiérarchi- ques sont des images réelles calculées par un filtre variable bidimensionnel. Le système prévoit un nombre variable de niveaux de façon que le choix du nombre optimal puisse être établi en fonction du'sujet. Le dessin du système de mémoire.de texture est basé sur les hypothèses suivantes: a) Le filtre appliqué à la texture est symétrique et.non déformé et b) La sélection de la version filtrée de la texture à repré- senter est une décision du choix d'une image élément par élé- ment d'image basée sur la distance comprise entre deux échan- tillons successifs. Ces deux hypothèses introduisent des approximations, mniais 24 2466061 elles entraînent seulement des erreurs géométriques locales. La grille principale d'échantillonnage est calculée exacte- ment et le recouvrement peut être complètement conritr1lé. L'ef- fet de la premièere hypothèse est d'appliquer un plus grand de- gré de filtrage que celui qui serait utilisé dans une simu- lation exacte. En ceci, ainsi qu'il a été indiqué précédemment, l'ouverture est conforme pour présenter un allongement dans la direction de la litne de visée dans tous les cas excepté celui de la visée dans une direction normale à la surface. L'effet de filtrage est ainsi plus grand dans la ligne de la direction de visée qu'à angle droit. Cependant, puisque l'on a supposé que le filtre a le même effet de filtrage dans les deux directions, un plus grand degré de filtrage doit être utilisé transversalement à la ligne de visée en vue d'éviter un recouvrement le long de la ligne de visée. Les figures 29 et 30 illustrent cet effet. L'allongement de l'ouverture con- formée réelle s'accroît lorsque la ligne de visée intercepte le plan sous de petits angles, comme ceci arrive pour ceux qui correspondent a l'horizon affiché. Cependant, lorsque le degré total de filtrage (diminution des détails) s'accroît en ces points, l'effet de l'excès de filtrage devient moins notable. La question de l'allongement d'ouverture et de ses effets est considérée de façon plus détaillée ci-après. La secondciehypothèse ci-dessus se rapporte aussi à l'al- longement d'ouverture, pour la définition de la "distance entreéchantillons" qui doit être effectuée. Comme on peut le voir aux figures 29 et 30, la distance entre échantillons successifs le long d'une ligne de trame conformée, a, n'est pas la même qu'entre les lignes conformées b. Une définition de la "distance entre échantillons" est aussi considérée plus loin. De nombreux travaux ont été consacrés récemment au pro- blême du recouvrement dans la synthèse numérique d'image de télévision. Les études connues sont résumées ci-dessous, car elles ont une importante influence sur le dessin du système de la mémoire de texture. La formation d'image de télévision peut être considérée comme un procédé d'échantillonnage tri-dimensionnel, les trois dimensions étant les deux dimensions linéaires de l'image et le temps. L'échantillonnage est bien saisi sous tous ses aspects et la théorie peut être appliquée de façon profitable aux images de télévision engendrées par calculateur. En étudiant le fonctionnement d'un système de caméra de télévision en raison de la théorie de l'échantillonnage et en les comparant à la génération d'images synthétiques, les raisons d'introduc- tion de recouvrements dans les derniers systèmes peuvent être comprises. Il est aussi possible de concevoir des méthodes de réduction du recouvrement dans les images calculées en fonc- tion de la connaissance des systèmes de télévision. La théorie classique de la formation d'images de télévi- sion dérive du spectre du signal de sortie de la caméra de télévision par l'analyse du procédé de balayage et de la for- me de l'échantillonnage utilisé dans le système de télévision. L'effet de l'ouverture du balayage sur le recouvrement peut être déduit de cette analyse. Si l'on considère la synthèse d'une image à la lumière de la théorie de la télévision, il est possible de conclure que les images calculées sont analo- gues à celles de scènes non limitées par bande échantillonnées sans l'utilisation de filtre de pré-échantillonnage. Le re- couvrement peut être réduit par échantillorrDge à une fréquence plus élevée et en synthétisant un filtre de pré-échantillon- nage. L'expérience a montré qu'une fréquence d'échantillonna- ge quatre fois plus élevée dans les deux dimensions verticales et horizontales produit des résultats. satisfaisants en utili- sant un affichage projeté sur 625 lignes dans un simulateur. La figure 31 représente une grille d'échantillonnage d'une représentation discontinue avec quelques détails de scène dans leurs positions exactes comme elles seraient calcu- lées par un générateur d'images à base de polygones et de résolution infinie. Puiqu'une seule valeur d'éclairement et de couleur peut exister sur le surface d'un élément d'image, une méthode de configuration d'image calculée sur la grille de l'élément peut être employée. Dans les premiers générateurs d'images, l'éclairement et la couleur d'un élément d'image étaient pris pour être ceux de la surface visible de la scène au centre de l'élément, de sorte par exemple que, l'élément (3,3) figure 31 recevrait une valeur B i Cette méthode aboutissait à des lignes de bor- dure dessinées avec des bornes échelonnées et un léger change- ment de position d'une ligne de bordure aboutissant à un 26 2466061 changement affiché dans la position d'un élément de figure. Des effets changeants de cette sorte étaient acceptés dans les premiers générateurs d'images mais des solutions ont été apportées depuis à ces problèmes. La méthode utilisée est de synthétiser chaque élément d'image affiché à partir d'un nom- bre de "sous-éléments" qui en fait, échantillonnent la scène sur une grille plus fine. L'élément (4,10) dans le figure 31 représente les points échantillons lorsque 16 sous-éléments sont utilisés. Les valeurs de l'éclairement et de la couleur, calculées pour chaque sous-élément, sont combinées dans un filtre bi-dimensionnel pour déterminer l'élément final à af- ficher. La fréquence de coupure de ce filtre doit être égale à la fréquence spatiale maximum qui peut être représentée sur la grille d'affichage. Cette condition est donnée par la thé- orie de l'échantillonnage et est représentée par deux cycles d'ondes sinusoïdales représentées à la figure 31. Dans les sytèmes simples, les sous-éléments situés dans un élément sont ajoutés-avec des poids égaux (règle du produit de la surface par la couleur) cependant que dans les systè- mes plus complexes, les sous-éléments situés dans des éléments adjacents peuvent être également utilisés. Tous les générateurs d'images par calculateur de balayage de trames fabriqués cou- ramment pour la simulation incorporent maintenant un moyen d'antirecouvrement. On notera que des solutions apportées au problème du re- couvrement ne sont pas en fait de véritables remèdes mais de simples traitements de symptomes. "Le lissage des bordures" et le filtrage ultérieur de l'image comportant des erreurs de recouvrement ne peuvent seulement produire des résultats ac- ceptables qu'au prix d'une réduction dans la résolution de l'image affichée. En d'autres termes les éléments sont traités comme des sous-éléments dans un filtre grossier. Considérons maintenant l'échantillonnage d'une image en- registrée dans une mémoire. Pour plus de simplicité on suppo- sera que l'image est définie sur une grille identique à celle de la grille d'un élément d'image d'affichage. La figure 32 montre l'image enregistrée avec la grille d'échantillonnage de l'affichage superposée. Il existe ainsi une exacte corres- pondance entre les images enregistrées et affichées. Pour une représentation correcte de l'image le contenu de fréquence 27 2466061 spatiale, avant enregistrement, doit être tel qu'aucune fré- quence spatiale plus élevée que celles l eprésentées sur la figure n'existe. Ceci est obtenu par l'application d'un filtre usuel de pré-échantillonnage. Supposons maintenant que l'image enregistrée soit dépla- cée par rapport à la grille d'échantillonnage, comme repré- sentée à la figure 33, comme ceci arriverait lors d'un dépla- cement de l'observateur ou de la scène. Le déplacement repré- senté est- un quart d'un élément dans les deux directions ver- ticale et horizontale. Tous les points d'échantillonnage se trouvent dans les mrnmes limites sur la grille de la mémoire et ainsi l'image affichée est identique à celle existant -avant le déplacement. Aucun changement d'image n'interviendra jusqu'à ce qu'ait lieu un déplacement d'une moitié d'élément dans une direction. Un autre changement correspondant à l'espacement - d'un élément est alors nécessaire jusqu'à ce qu'intervienne un nouveau changement. Un mouvement uniforme de l'image calcu- léeproduit ainsi des changements brusques dans l'image affi- chée. Pour assortir la performance d'un tel système de mémoire échantillonnée aux générateurs d'images à non recouvrement qui ne présentent pas ce saut d'élément à élément des compo- sants de la scène, le nombre des échantillons d'images enre- gistrées doit être accru d'un facteur 16, nombre des sous- éléments dans chaque élémrnent d'un système à base de polygones. Un mouvement uniforme de l'image calculéeproduit alors des changements de l'image affichée qui se modifient quatre lois plus souvent dans,-une dimension linéaire, produisant ainsi une meilleure approximation du mouvement uniforme. L'image en- registrée doit être encore pré-filtrée au même degré, sauf qu'il existe maintenant 8 au lieu de 2 échantillonnages par cycle spatial à la fréquence spatiale maximum. La figure 34 montre les deux nouvelles grilles et la fréquence spatiale -maximum qui peut être enregistrée. Cet arrangement est ici tout a fait analogue au système de base de polygones sans recouvrement. Le même argument s'applique pour autant que la rotation de l'image calculée est concerne. La mrême approxi- mation pour tenir compte d'une rotation uniforme est utilisée dans les systèmes à base de polygones avec échantillonnage de sous-élément. a-8 - 2466061 La conception du système de mémoire des textures peut être maintenant considérée en utilisant ce fait et les deux hypothèses auxquelles on s'est référé précédemment. A la plus courte distance possible entre surface et point de visée, un sous-élément, tel que défini ci-dessus, figure dans un élément de surface d'environ 2,5 x 2,5 cm. Pour un déplacement uniforme, l'oeil ne doit pas approcher la surface simulée de plus près. Si la surface est vue normalement à cette distance minimum oeil-surface, alors la situation représentée à la figure 34 s'applique. Une mémoire contenant un modèle enregistré de cette mani- ère et filtrée au degré représenté pourrait ainsi constituer le niveau supérieur d'une mémoire hiérarchique conçue pour être échantillonnée tous les quatre éléments de surface. Ce niveau est appelé niveau O et est obtenu à partir du modèle de texture de base m utilisant un filtre symétrique à deux dimensions avec des fréquences de coupures spatiales de Tt/4 par rapport à la grille fine. Considérons maintenant le cas o les points échantillons sont cinq éléments de résolution de surface séparés. Dans une visée normale, ceci correspond à la distance oeil-surface de /4 de celle produisant l'espacement de quatre éléments de surface. La figure 35 montre les dimensions de la mémoire requise pour cet espacement,ou chaque élément a la dimension linéaire de 5/4 d'un élément de résolution de surface. La nouvelle grille de mémoire, située en haut et à droite de la figure 35 s rapplique exactement sur la représentation comme la grille de niveau 0 représentée figure 34. Le degré de pré- filtrage requis pour ce niveau afin d'empêcher le recouvrement exige un filtre passe bas -avec des fréquences de coupure de i /4 par rapport au plus grand sous-élément de grille confi- guré oul'I/5 par rapport à la grille de résolution d'élément. De façon idéale, la quantité totale d'enregistrement requise pour ce niveau de détails serait de 4/5 x 4/5 = 0,64 de celle requise pour le niveau 0. Cependant, cette quantité ne peut être atteinte en pratique. Le niveau 2, pré-filtré pour un espacement d'échantillons à 6 éléments de résolution exigerait 4/6 x 4/6 = 0,44 partie d'enregistrements, le niveau 3: 4/7 x 4/7 = 0,33 et ainsi de suite. Le niveau final dans cette disposition hiérarchique contiendrait seulement un échantillon, représentant l'éclai- rement moyen de toute l'aire texturée. L'avant dernier niveau représenté à la figure 36 doit contenir 64 échantillons et correspondre à la situation o 4 éléments d'affichage confi- gurés couvrent le modèle entier. Ces derniers niveaux exis- tent quelle que soit la dimension du modèle de texture initial. Dans le mode de réalisation un modèle de texture de di- mensions de 64 x 64 = 4096 éléments de résolution de surface a été choisi comme plus grande dimension pratique d'un systè- me pratique en considérant des mémoires programmables à lec- ture seulement ayant les temps d'accès convenables actuelle- ment disponibles. Avec cette dimension de modèle, la table suivante donne la dimension de mémoires théorique et pratique pour le nombre de niveaux nécessaires: 29 niveaux dans ce cas. Quantités d'enregistrement Niveau Espace- Dimension de mémoire Adresses des bits ment utilisés échantil- Théoriqu pratique __ ilons 64x64=4096 32x32=1024 6x16=256 256. K X4X3X2 XXoY5Y4Y3 y-2Y1 y0 X4X3X2Xl1XoY4Y3Y2YlYO X3X2X1 XoY3Y2Y1Y0 o0 n r% 24 114 a256 21 25 105 256 22 26 97 256 23 27 90 256 24 28 84 256 29 78 256 26 30 73 256 27 31 68 256 29 32 64 1 Aucune Total 16.584 28.673 Taux d'expansion 4.05 7 Les difficultés d'adressage de mémoire empêchent l'utilisation optimale de la capacité de mémoire. Les adresses de la mémoire de texture sont fournies par les deux vecteurs xp et yp qui sont modifiés à la fréquence des éléments d'ima- ge et qui représentent les positions des sous-éléments confi- gurés. La figure 37 montre comment le niveau 0, qui contient 4096 échantillons serait répertorié (X et Y sont les bits o o les moins significatifs des vecteurs X et Y et représentent un élément de résolution de surface). Le niveau 1 requiert en principe 2621 échantillons qui doivent être figurés à la même adresse de bits utilisée par le niveau 0. Cette figuration est réalisable en utilisant soit des tables indicatrices soit des circuits arithmétiques et une mémoire peut être construite pour maintenir le nombre requis d'échantillons. La solution pratique est de simplifier l'adressage au dépend d'une ëeonomie de mémoire. Pour le niveau 1, par exemple, 4096 échantillons sont utilisés-avec une adresse de la même manière qu'au niveau 0. La table précédente montre comment le dispositif hiérarchique complet est enregistré et comment l'adressage est utilisé. Le facteur d'expansion de mémoire est de 7 dans le cas d'un modèle à 4096 échantillons, alors qu'il est de 4 pour le schéma d'une utilisation optimale. La simplifcation dans le matériel de structure de l'adressage dépasse de beaucoup les exigences accrues de la mémoire. Les images pré-filtrées peuvent être calculées par l'utilisation d'un filtre convenable passe bas à deux dimensions. La détermination finale de la réalisation dépend de la manière dont la sélection du niveau hiérarchique de la mémoire est obtenue. La discussion précédente est basée sur l'hypothèse que l'espacement d'échantillon est connu. En général, comme on peut le voir à la fig;ure 29, 1'cspacement de l'échantillon: est différent dans les directions x et y et la grille d'échantillonnage carrée est un cas spécial. Pour éviter le recouvrement.la distance la plus grawide b à la iigu- re 29 est utilisée. Dans l'exemple donné, cette distance est celle de la distance entre echantillons sur des lignes adja- centes mais elle peut également être celle entre éléments adjacents sur la même ligne. Le calcul de la distance entre échantillons sur la mêmrne ligne est simple et seule la valeur précédente de (x,y) a besoin d'être enregistrée. D'autre part, le calcul de la distance entre échantillons sur des lignes adjacentes néces- site l'enregistrement de toute une ligne des coordonnées (xp,yp). Cette quantité est approximativement de 80Ox24x2 bits d'enregistrement dans une mémoire à vitesse élevée. Bien que ceci soit pratique, cette réalisation nécessite une carte de circuits supplémentaire. La solution plus simple de calculer en temps la distance entre échantillons adjacents et de four- nir une correction de l'allongement de l'ouverture est consi- dérée comme adéquate. Ce f'acteur de correction est appliqué en utilisant une mémoire de configuration de code de niveaux. Cette mémoire convertit l'espacement d'échantillons calculé en code de ni- veaux de mémoire de texture, qui est un nombre compris entre 0 et 28 selon une table établie par le calculateur général une fois par domaine. Le jeu complet des mémoires de texture est répertorié en parallèle en utilisant les bits xp et yp représentés dans la table précédente. Les mémoires de type monolithique 6353-1 à circuits intégrés qui sont des mémoires programmables pour la lecture seulement sont utilisés. La figure 38 est un schéma sous formne de blocs du système complet de mémoire de textures décrit ci-dessus qui engendre l'image d'un plan de sol structuré complet. La séquence finale à 8 bits des valeurs numériques de texture est transmise à un commutateur d'horizon identique à celui construit pour le générateur nuage/ciel. Ici un signal ciel est combiné pour former une image' finale qui est transmise a un convertisseur vidéo numériqueanalogique pour alimenter la commande de la visualisation. La correction d'espacement d'échlantillôns doit être calculée et enregistrée en mémoire de configuration des codes de niveaux pour chaque domaine afin d'assurer un fonctionne- ment correct pour toutes les attitudes. Il n'est pas pratique d'effectuer un calcul de correction exact, mais une approxi- mation acceptable peut être faite. La figure 39 montre les lignes de trame configurées pour trois angles de roulis. On voit immédiatement que l'espacement d'échantillons calculé est seulement correct lorsque 4=90 . L'erreur peut être calcu- lée simplement en considérant la trame configurée comme une fonction continue et en comparant les fréquences de changement de x et de y dans les directions tgA (le long des lignes) et tgï (transversalement). On notera d'abord que la forme de la trame configurée est indépendante de Xo, Yo,-H et\. Si ' est rendu égal à zéro, comme sur la figure 39, les axes x et y et la surface sont dans le même plan comme représenté et le facteur de correction peut être défini. Ceci est donné par le rapport: %5t / wtg (15) Ce rapport peut être mis sous la forme - cos sinGcos +tg t os (16) Puisque le facteur de correction doit s'appliquer à un domaine complet, le facteur tgY est donné avec une valeur approchée en utilisant une valeur constante. La figure 40 re- présente l'effet de ce facteur de correction constant qui rem- place les fonctions exactes de configuration de code de niveau par des lignes droites. La valeur de tg est déterminée empi- riquement en prenant = = = O et en réglant la configuration du code de niveau jusqu'à ce qu'aucun recouvrement ne soit discernable. L'utilisation de cette valeur dans le facteur de correction général produit des résultats acceptables pour toutes les attitudes. Le générateur de détails de surface décrit ci-dessus convient pour une intégration dans un générateur d'images à balayage de trame basé sur des polygones. Les surfaces sélec- tionnées définies comme surfaces "texturées"' ont leur seule valeur d'éclairement modulée par la sortie du générateur de de détails de surface. Le système décrit est capable de transfiormer une structure pour une seule surface dans n'importe quel cadre. Une modification cependant permettrait au processeur de trans- formation d'être chargé au cours d'un intervalle de suppres- sion de lignes pour permettre la définition d'un plan dif- férent. Un changement dans la transformation le long d'une ligne serait aussi possible si des étages de retard étaient. ajoutés au canal de façon que toutes les entrées se réfèrent au même instant de la base de temps. Le canal devrait natu- rellement recevoir le nombre correct d'éléments avant que le changement de surface ne soit requis en raison de la durée du calcul, voir figure 25. Un problème intervient aux limites du polygone tex- turé du à la manière dont le recouvrement est traité sur les bords dans la plupart des générateurs d'images. Pour repré- senter correctement la transition, les valeur de l'éclaire- ment de la texture doivent être connues avec une résolution plus fine qu'un élément d'image. Ceci n'est pas possible car le calculateur de transformation peut seulement fournir un échantillon par élément. Cependant puisque la texture module seulement la valeur de l'éclairement de l'ensemble, le bord filtré conserve son apparence correcte. De récents progrès dans les mémoires à semi-conduc- teurs à vitesse élevée rendent possible la construction d'un générateur de texture à performance de calcul à vitesse éle- - vée plus réduite. Ceci peut être obtenu en utilisant le prin- cipe connu de la "trame roulée". La figure 41 montre un tel système sur un schéma sous forme de blocs. La mémoire de texture est accessible par les vecteurs xp et yp calculés d'après les équations (1) et (2) c'est-à- dire pour = 0 X = X - H (cos - sinrtg)cosy- tgsin (17) - sin6 + tg cosG Yp = Y - H (cos' - sin5tg')sinW+ tgecosW (18) sin t + tgScos% qui peuvent s'écrire sous la forme X = X - H Ex + Fx tgE (19) p o g Y Y - H Ey + Fy tg (20) p = o(20 Si l'on considère les parties qui changent à la fréquence d'un élément d'image, c'est-à-dire les parties qui sont fonction de tgX, et si l'on note comme décrit précédem- ment que tgX est proportionnel à la distance le long d'une ligne de balayage à partir du centre de cette ligne de balaya- ge, alors les équations (19) et (20) peuvent Etre résolues à la fréquence d'un élément d'image-avec deux additionneurs 129 contr8lés par un compteur d'adresses 128, figure 41. Les multiplications et divisions requises peuvent être effectuées sur une base ligne par ligne dans le calcula- teur général 106 recevant l'information d'attitude et de posi- tion simulées sur la ligne d'entrée 105. La sortie de la mé- moire de texture 111 est enregistrée dans une moitié 131 ou 132 de la mémoire de cadre construite au moyen de mémoires à semi-conducteurs à vitesse élevée. La distance d'échantillons est constante le long de toute ligne et entre les lignes comme le montre la figure 42. Deux distances sont disponibles pour chaque ligne dans le calculateur général 106 qui peut alors déterminer celle qui est plus grande et sélectionner de la sorte le niveau de la mémoire de texture. Aucun problè- me de correction d'espacement d'échantillon n'existe. Pendant qu'une moitié 131 ou 132 de la mémoire de cadre reçoit l'in- formation, l'autre moitié 132 ou 131 selon le cas transmet son contenu au dispositif de visualisation le long de la ligne de sortie 112. Le roulis est introduit à ce moment p nombre de circuits arithmétiques à vitesse élevée. Ceci re- présente un gain considérable par rapport au modèle original si des mémoires 16K ou de plus grande capacité sont utilisées pour l'enregistrement des cadres. L'inconvénient de cette al- ternative est que seules les surfaces ayant un même angle de roulis par rapport à l'observateur peuvent être transformées dans le même cadre. REVENDICATIONS 1 ) Système de visualisation d'une image de type engendrée par calculateur, pour simulateur de vol basé au sol fournissant la représentation visuelle reçue par un pilote d'une surface texturée simulée par transformation perspective et balayage de trame rectangulaire, incluant un générateur de détails de surface composé d'un calculateur de transformation perspective et d'une mémoire de détails de texture de surface, le calculateur de transformation de perspective étant un cal- culateur à canaux pour le calcul en temps réels de la trans- formation perspective du plan de visualisation du système de visualisation sur le plan de la surface simulée de façon con- tinue au cours du vol simulé et pour balayer de façon corres- pondante la mémoire des détails de texture de la surface pour fournir une texture à chaque élément dudit dispositif de visualisation du pilote en utilisant un balayage de trame rectangulaire. ) Système de visualisation tel que revendiqué en 1 dans lequel les constantes de ligne et de cadre du dispositif à balayage de trame rectangulaire sont d'abord déterminées et dans lequel le calculateur à canal calcule de façon continue les valeurs fournies par les deux équations Xp = X -+H x xgA (3) p o c +d tgÀ a + b tg > yp =y H c + d tgX x, yp définissent le point d'échantillonnage de la surfa- ce simulée X, Y définissent l'origine de la surface simulée H définit le déplacement du point visé du pilote par rapport à la surface simulée > %définit l'angle horizontal du déplacement instantané du point de balayage par rapport à la ligne de visée du pilote au cours du vol à un niveau et o a, b, c, d sont des constantes. ) Système de visualisation tel que revendiqué en 1 ou en 2 dans lequel la mémoire des détails-de texture de sur- face maintient l'information numérique correspondant à la texture de surface de ladite surface simulée et dans lequel l'information numérique est filtrée de façon à correspondre à un diamètre préféré d'ouverture du balayage afin d'éviter ainsi les recouvrements de la trame du dispositif' de visuali- sation. ) Système de visualisation tel que revendiqué dans l'une quelconque des revendications 1 à 3 dans lequel le cal- culateur de transformation perspective reçoit à nouveau les informations de données au cours des intervalles de la suppres- sion de lignes afin de calculer la transformation perspective pour plus d'une surface simulée dans tout cadre. 50) Système de visualisation tel que revendiqué dans l'une quelconque des revendications 1 à 3 dans lequel le cal- culateur de transformation perspective à canaux inclut des moyens d'entrée pour l'enregistrement des données correspon- dant à un changement de la transformation perspective de la surface au cours du balayage d'une ligne, une phase de retard au moins étant prévue pour s'assurer que toutes les entrées dépendent d'un seul instant de la base de temps du calcul. ) Système de visualisation tel que revendiqué dans l'une quelconque des revendications 1 à 3 dans lequel la mémoire des détails de texture de la surface comporte une pre- mière et une seconde mémoire de cadres pour enregistrer l'in- formation de texture de surface pour les cadres consécutifs du dispositif de visualisation, lesdites mémoires de cadres recevant l'information alternativement, l'une transférant son contenu pendant que l'autre reçoit un enregistrement.