FR2674973A1 - Procede de fragmentation en polygones de correction de distorsion dans des systemes de generation d'image par ordinateur. - Google Patents

Procede de fragmentation en polygones de correction de distorsion dans des systemes de generation d'image par ordinateur. Download PDF

Info

Publication number
FR2674973A1
FR2674973A1 FR9203305A FR9203305A FR2674973A1 FR 2674973 A1 FR2674973 A1 FR 2674973A1 FR 9203305 A FR9203305 A FR 9203305A FR 9203305 A FR9203305 A FR 9203305A FR 2674973 A1 FR2674973 A1 FR 2674973A1
Authority
FR
France
Prior art keywords
grid
space
projection
points
polygon
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
FR9203305A
Other languages
English (en)
Other versions
FR2674973B1 (fr
Inventor
Kelly William Arthur
Quick Lee Tanyaedward Mit Sims
Tackaberry Michael William
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
General Electric Co
Original Assignee
General Electric Co
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by General Electric Co filed Critical General Electric Co
Publication of FR2674973A1 publication Critical patent/FR2674973A1/fr
Application granted granted Critical
Publication of FR2674973B1 publication Critical patent/FR2674973B1/fr
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T3/00Geometric image transformations in the plane of the image

Landscapes

  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Image Processing (AREA)
  • Transforming Electric Information Into Light Information (AREA)

Abstract

La présente invention concerne un procédé pour prédistordre une scène vidéo formée de polygônes, dans un espace de projection (PS) pour une projection dans un espace d'observation (VS), consistant à: former une grille rectangulaire pour diviser la trame VS en une matrice de cellules (34-rc); disposer une ligne diagonale (36) entre des coins opposés de chaque cellule de grille VS; déterminer un ensemble ordonné de tous les points pour lesquels chaque côté d'un polygône coupe l'une quelconque des lignes de grille et des lignes diagonales; projeter en retour chaque point VS dans l'espace de projection PS; créer des lignes reliant chaque paire de points projetés PS correspondant à une paire de points VS reliés par un côté de polygône en intersection; et adapter les facteurs de texture dans chaque zone PS ainsi formée à des facteurs dans la zone VS correspondante.

Description

PROCEDE DE FRAGMENTATION EN POLYGONES
DE CORRECTION DE DISTORSION
DANS DES SYSTEMES DE GENERATION D'IMAGE PAR ORDINATEUR
La présente invention concerne des systèmes de
génération d'image par ordinateur (GIO) et plus particu-
lièrement un nouveau procédé utilisant une fragmentation
en polygones pour produire une trame corrigée en distor-
sion pour la projection d'une image par trame non distor-
due observable dans un tel système.
Il est bien connu, dans la technique de généra-
tion d'image par ordinateur que, si une scène non corrigée est projetée par une objectif grand angle et/ou sur un écran courbe et observée hors de l'axe, la combinaison des
distorsions optiques et géométriques est typiquement supé-
rieure à ce qui peut être toléré dans les applications exigeantes de simulation, telles que l'entraînement au vol d'un équipage et analogue Il est bien connu de corriger
la distorsion en produisant une scène correctement prédis-
tordue sur une trame de projection, de sorte que, quand la trame de projection est projetée sur une surface courbe,
la scène projetée résultante apparaît bonne et non distor-
due à un observateur Toutefois, les procédés de correc-
tion de distorsion de l'art antérieur nécessitent presque
toujours un matériel spécialisé qui est conçu spécifique-
ment pour la correction de distorsion dans la partie de processeur d'affichage du système GIO, immédiatement avant l'affichage Il est très souhaitable de prévoir un procédé de correction de distorsion dans lequel on n'utilise pas de matériel de correction spécialisé supplémentaire et en outre dans lequel la correction de distorsion puisse être réalisée dans une partie de processeur de forme du système
GIO avant la partie du système de traitement d'affichage.
Selon l'invention, un procédé de correction de distorsion d'image texturée produite par ordinateur mappe des sommets et des coefficients de texture de l'espace de l'observateur à l'espace du projecteur, de sorte que les
objets environnants sont prédistordus sur la trame de pro-
jection pour apparaître selon leur forme et leur perspec-
tive convenable quand la trame est projetée sur une sur-
face courbe dans l'espace de l'observateur et observée à
partir de celle-ci La correction de distorsion est effec-
tuée en utilisant une approximation linéaire par morceaux pour approximer de façon lisse, continue et proche la précourbure requise La trame dans l'espace d'observation est subdivisée en plusieurs triangles dans chacun desquels
une approximation linéaire est appliquée au mappage d'ima-
ge: les faces de la trame sont d'abord subdivisées selon des lignes d'une grille rectangulaire et les fragments de face tombant dans chaque rectangle sont ensuite subdivisés
selon la diagonale de la grille Ceci produit des frag-
ments de face qui sont suffisamment petits pour qu'une
approximation linéaire fournisse une transformation pré-
cise de chaque fragment Des cartes de distorsion, typi-
quement calculées en temps différé et mémorisées dans une mémoire de base de données sont utilisées pour projeter les bords et les gradients de modulation de texture de l'espace d'observation vers l'espace du projecteur, de
sorte que les bords et motifs de texture peuvent mainte-
nant être accordés avec les intersections de triangles adjacents de façon à être sensiblement exempts de tout
changement abrupt et être ainsi convenablement prédis-
tordus. Dans un mode de réalisation actuellement préfé- ré, le procédé ci-dessus est mis en oeuvre en créant une
table de points de grille, mappés de l'espace de l'obser-
vateur à l'espace du projecteur, une fois donnés les para-
mètres de la surface courbe, les positions et les atti-
tudes du point d'observation et du projecteur, les para-
mètres de trame et les paramètres d'objectif Les termes de la matrice pour le réglage des coefficients de texture, à chaque point de la grille, sont également calculés La grille rectangulaire est de taille choisie pour que chacun de ses éléments triangulaires soit suffisamment petit pour qu'une erreur angulaire présélectionnée, dans le pire des cas, soit atteinte Le processeur de forme écrête toutes les faces en les grilles triangulaires dans les rectangles
de la grille imposée dans la trame de l'espace de l'obser-
vateur Ainsi, chaque face de l'objet que l'on peut proje-
ter est fragmentée selon une ligne d'une grille rectangu-
laire, de préférence carrée, les faces de chaque carré résultant étant alors subdivisées selon une diagonale de ce carré; une diagonale ayant une pente positive est
choisie pour réduire légèrement les exigences de calcul.
Les bords de chaque fragment de face dans l'un des trian-
gles sont alors projetés en utilisant des transformations linéaires précalculées Des gradients de modulation pour la texture, l'atténuation, l'ombrage et analogue sont
alors transformés dans l'espace de projection.
Ainsi, un objet de la présente invention est de prévoir un nouveau procédé de correction de distorsion par fragmentation en polygones de scènes dans un système de
génération d'image par ordinateur.
Ces objets de la présente invention ainsi que d'autres apparaîtront à l'homme de l'art à la lecture de
la description suivante d'un mode de réalisation actuel-
lement préféré faite en relation avec les dessins joints parmi lesquels: la figure 1 est une représentation schématique d'un système de projection GIO, illustratif du problème à résoudre; la figure 1 ' est un diagramme schématique sous forme de blocs d'un système GIO typique dans lequel est utilisée l'invention; les figures la à ld sont des vues de dessus d'un espace d'observation à diverses étapes de segmentation, et
de détails d'une cellule de grille résultante dans celui-
ci; les figures 2 a à 2 d sont des vues de dessus d'une trame dans l'espace de projection à diverses étapes de segmentation, et de détails d'une cellule de grille résultante dans celui-ci;
la figure 3 est un diagramme schématique illus-
trant la transformation d'une cellule de trame rectangu-
laire dans l'espace d'observation en une cellule de trame (distordue) en forme de quadrilatère dans l'espace de projection; et les figures 4 a-4 e sont des vues de dessus d'une partie d'une trame de l'espace d'observation, une surface progressivement plus faible étant considérée pour obtenir
les caractéristiques de bords et de coefficients de tex-
ture d'une cellule de grille unique divisée diagonalement, et d'une cellule de trame de projection distordue qui lui correspond. En se référant initialement à la figure 1, un moyen d'affichage 10 d'un système de génération d'image par ordinateur (GIO) utilise un dispositif de projection 11 tel qu'un tube à rayons cathodiques (TRC) ou analogue pour former une trame de projection l IR dans un espace de projection (PS) La trame de projection est transmise par l'intermédiaire d'un objectif de projection 12 pour
fournir une scène projetée 14 sur une surface de projec-
tion 16, telle qu'un dôme ou autre surface courbe La scène projetée 14 est vue par un observateur 18 en tant que trame observable 14 R dans l'espace d'observation (VS); la trame observable 14 R est une grille dans un système de coordonnées bidimensionnelles rectilignes dans lequel un observateur voit l'environnement en perspective convenable La trame de projection 11 R est également une grille dans un système de coordonnées rectilignes mais est repérée par rapport au format d'affichage de trame; comme le dispositif de projection 11 et l'observateur 18 sont typiquement situés ailleurs qu'au centre 16 c de la surface
de projection, certaines distorsions géométriques survien-
nent quand la trame de projection 11 R est transférée vers la trame de l'observateur 14 R, de même que certaines
distorsions optiques peuvent résulter des qualités impar-
faites de l'objectif de projection 12 et analogue Ainsi,
une scène parfaitement circulaire dans l'espace de projec-
tion l R peut être observée sous forme d'une courbe fermée irrégulière 14 dans la trame observable 14 R, étant donné que les projections des points (Ir, Jr) sur la trame de projection sont mappées, avec distorsion, à d'autres points (Iv,,J) dans la trame observable 14 R Il est très souhaitable de prédistordre la trame de projection lîR, connaissant la position du dispositif de projection 11 et de l'observateur 18 par rapport à la surface 16, de sorte qu'une trame prédistordue est projetée pour apparaître sous forme d'une scène projetée non distordue 14 pour l'observateur 18 Des procédés de correction de distorsion complets pour un tel système GIO sont décrits et revendiqués par exemple dans les brevets des Etats-Unis d'Amérique 4714428 et 4862388 qui seront considérés comme
faisant partie intégrante de la présente description.
La figure 1 ' représente un schéma fonctionnel sous forme de blocs d'un système GIO typique, tel qu'un système de simulation de cockpit d'avion, dans lequel un problème de distorsion apparaît Ce système comprend le moyen d'affichage 10 qui affiche des informations pour un observateur tel qu'un pilote à l'entraînement 18, pour
simuler le déplacement d'un avion sur une scène L'obser-
vateur à l'entraînement 18 dispose de moyens d'interface de commande d'entrée 20 de sorte que l'action de manoeuvre
du pilote dans le cockpit est fournie aux moyens d'inter-
face 20 qui convertissent les données de vol appropriées, telles qu'une position d'avion, des attitudes de roulis, de tangage et de lacet en provenance de l'observateur pilote 18 vers un contrôleur 22 Le contrôleur 22 utilise les informations d'entrée du pilote pour calculer une nouvelle position et orientation de l'avion et, à partir de ces données, pour calculer une matrice de rotation mathématique qui est utilisée pour faire tourner des objets à partir d'un système de coordonnées de référence vers un système de coordonnées d'affichage, d'une façon
qui est bien connue dans la technique D'autres informa-
tions concernant la scène, des positions de cibles ou un autre avion sont également calculées dans le contrôleur 22 qui peut être un ordinateur universel ou analogue Le
contrôleur 22 est périodiquement mis à jour par l'orienta-
tion la plus récente de l'avion pour fournir des informa-
tions de scènes mises à jour en une durée d'image ou de
trame, à un processeur de forme 24.
Le processeur de forme 24 lit les informations en provenance d'une mémoire de base de données de scène
26, qui inclut des descriptions d'objets, tels que des
tours, des routes, des rivières, des hangars et analogues, qui sont éventuellement observables dans la représentation numérique tridimensionnelle mémorisée du sol Les objets lus à partir de la base de données de scène 26 sont déplacés en translation et en rotation dans les
coordonnées d'affichage, en utilisant la matrice de rota-
tion calculée dans le contrôleur 22 Le processeur de forme 24 écrête tous les bords qui s'étendent au-delà des limites de la fenêtre d'observation puis projette mathéma- tiquement les données d'objets tridimensionnelles sur une fenêtre d'affichage bidimensionnelle Les faces de l'objet qui s'étendent au-delà des limites de la fenêtre
d'affichage sont alors écrêtées dans un espace image bidi-
mensionnel Les objets bidimensionnels comprennent des points, des lignes, des polygônes convexes fermés, ou des combinaisons de ces éléments Chaque polygône convexe fermé est appelé face, de sorte que chaque objet traité est constitué de faces individuelles, chaque face étant limitée par des bords droits Une fois que les faces ont été calculées dans le processeur de forme 24, à partir des
objets tridimensionnels, les données calculées sont trans-
mises à un processeur d'affichage 28 En outre, le proces-
seur de forme 24 calcule les faces qui sont devant ou derrière d'autres faces et mémorise ces informations de
profondeur dans une liste de priorité Une liste de prio-
rité contient l'ordre de toutes les faces d'une scène, o la première face de la liste est la face de plus forte priorité et la dernière face de la liste présente la plus faible priorité Chaque fois que deux faces se chevauchent sur un affichage, la face de plus haute priorité sera visible et la partie recouverte de la face de plus faible priorité sera occultée ou obscurcie Après calcul de la liste de priorité, le processeur de forme 24 calcule des données pour afficher des points terminaux et des pentes
de segments de droite qui relient les faces bidimension-
nelles et calcule les coefficients des équations de droite
qui décrivent les bords frontière Ces données sont égale-
ment transmises au processeur d'affichage 28.
Le processeur d'affichage 28 est utilisé pour commander l'affichage vidéo 10 Le processeur d'affichage 28 contient la majorité des éléments de traitement et des éléments matériels d'un système de génération d'image par ordinateur en temps réel et, pour cette raison, la plupart des efforts antérieurs dans la technique ont consisté à réduire la dimension du matériel et le temps de traitement du processeur d'affichage 28 En fait, les deux brevets susmentionnés concernent des procédés et un appareil important pour fournir une correction de distorsion complète en utilisant le processeur d'affichage 28 Il est bien connu que le processeur d'affichage 28 doit, pour chaque pixel de la trame d'affichage vidéo lîR, résoudre la couleur dont doit être ce pixel, étant donné les nombreuses faces qui peuvent être présentes dans un pixel unique et étant donné que des parties d'une face peuvent être recouvertes de parties d'autres faces Après avoir résolu les conflits de priorité dans un pixel, la surface de chaque face physique dans le pixel doit être multipliée par la couleur de la face et la somme de toutes ces couleurs pondérées doit être fournie comme la couleur de ce pixel unique Puisqu'il peut y avoir plus d'un million de pixels dans une trame d'affichage, et puisque les données de tous ces pixels doivent être calculées en 1/60 seconde (la durée d'une trame unique entrelacée), la charge de traitement du processeur d'affichage est très élevée Il est très souhaitable que le processeur d'affichage 28 reçoive du processeur de forme 24 des
descriptions de faces bidimensionnelles (en même temps que
des couleurs de face, des priorités de face et analogue) qui sont déjà prédistordues pour appliquer une correction de distorsion complète sans autre moyen matériel de processeur d'affichage supplémentaire 28 alloué à l'étage de correction de distorsion Ainsi, le processeur de forme 24 doit mapper des attributs/sommets de polygones, bords,
et texture de surface (coefficients de modulation et ana-
logue) de l'espace d'observation VS à l'espace de projec-
tion PS en temps réel Le processeur de forme a en mémoire des tables de valeurs de correction de distorsion à appliquer, sur la base des angles de projection, des distances et des coordonnées similaires, obtenues et introduites dans la mémoire, quand le générateur d'image a
été initialisé par des informations de position du dispo-
sitif de projection 11 et de l'observateur par rapport à
la surface de projection 16.
Comme le représentent les figures la et 2 a, une
trame 30 V de l'espace d'observation VS sensiblement rec-
tangulaire (de préférence carrée) est le résultat observa-
ble de la projection sur une surface courbe 16 d'une trame
30 P de l'espace de projection PS distordue non rectangu-
laire La trame 30 V est analogue à la trame 14 R de la figure 1 et la trame 30 P est analogue à la trame 11 R de la figure 1 De façon typique, chaque trame 30 comprend une multiplicité de rangées horizontales (par exemple 1000 +) d'éléments d'image (pixels) et une autre multiplicité de colonnes verticales (par exemple 1000) des pixels des rangées, de sorte qu'une trame peut contenir jusqu'à un million de pixels en matrice Pour comprendre la présente invention, on considèrera (comme cela est représenté en figures lb et 2 b) le résultat de la division de la trame V de l'espace VS par un réseau régulier de lignes frontières 32 r disposées horizontalement définissant une rangée (c'est- à-dire une première pluralité M de lignes frontières horizontales 32 r-1 à 32 r-m) et une seconde pluralité de lignes frontières 32 c disposées verticalement formant des colonnes (c'est-à-dire une seconde pluralité N de lignes frontières verticales 32 c-l à 32 c-n) La trame V' de l'espace VS (figure lb) est ainsi divisée en une
matrice d'une multiplicité de cellules 34-rc rectangu-
laires, de préférence carrées, o r est un numéro de rangée de 1 à m+ l et c est un numéro de colonne de 1 à n+ 1 La trame 30 P' de l'espace PS (figure 2 b) comprend également des lignes de rangées 32 'r et des lignes de
colonnes 32 'c définissant une cellule qui ne sont généra-
lement pas droites (sauf dans des cas particuliers) dont l'un est représenté, avec une ligne de colonne verticale centrale 32 'cc autour de laquelle des autres lignes de colonnes non droites sont symétriquement disposées, et une ligne de rangée centrale horizontale droite 32 'rr autour
de laquelle des lignes de rangées non droites sont symé-
triquement disposées) de sorte que chacune des cellules 34 '-rc a une forme bidimensionnelle de quadrilatère plutôt que de rectangle Il faut noter que le nombre de lignes de grille et l'écart entre elles est choisi pour fournir des cellules suffisamment petites pour que tout bord long soit partagé en morceaux suffisamment petits pour permettre à la courbure convenable d'apparaître, en raison de la représentation linéaire en forme de morceaux Alors que, dans le cas général, la trame de projection 30 P' a une forme complètement asymétrique, le nombre de cellules 34 et 34 ' reste fixe, de même que le nombre de pixels dans
chaque cellule (qui, comme il couvre un nombre fixe prédé-
terminé de pixels, est parfois appelé un domaine) Ainsi, si chaque domaine carré 34 '-rc de la trame observable 30 V dans l'espace VS comprend un réseau carré de 8 X 8 pixels, chaque domaine non carré 34 '- rc de la trame projection P' de l'espace PS comprend un réseau non carré de 8 x 8 pixels également Une façon d'obtenir le réseau 30 P' de l'espace PS et de renvoyer la grille ordonnée de la trame 30 V' de l'espace VS pour trouver et enregistrer les coordonnées de chaque point de croisement de grille V/35 P dans chaque espace et former ainsi une table de consultation pour celles-ci; la table est constituée d'ensembles de grilles multiples, un ensemble pour chaque paire différente d'angles 6 et X dans les coordonnées il
sphériques en provenance du projecteur 11 vers l'emplace-
ment de l'observateur 18, réfléchis par le point central
de la scène 14.
Comme le représentent les figures lc et 2 c, selon un aspect de la présente invention, chacune des cellules rectangulaires 34 de la trame 30 V de l'espace VS et des cellules 34 ' de la trame 30 P de l'espace PS est découpée en parties triangulaires supérieure et inférieure 36-rc U/36-rc L ou 36 '-rc U/36 '-rc L par une ligne frontière diagonale 38/38 ', respectivement Les triangles 36 ' de l'espace de projection sont distordus en ce qui concerne leurs longueurs de côtés et angles aux sommets, par rapport aux longueurs de côté et angles de sommet des cellules triangulaires 36 dans l'espace d'observation (dans lequel chaque cellule triangulaire 36 peut être prévue pour contenir un angle droit) Les bords et les textures de face sont établis dans chacune des cellules triangulaires 36 ' de la trame de projection 30 P pour amener les bords et les textures transformés dans la trame 30 V de l'espace d'observation à former des bords continus
avec des coefficients de modulation de texture qui s'adap-
tent aux limites, c'est-à-dire que les bords et les textures présentent une continuité aux limites Il n'y a pas d'effet de bord abrupt, à moins qu'il n'en existe déjà
dans les informations de scène d'observation désirées.
La continuité aux limites doit rester présente même quand les fragments PS sont prédistordus, comme cela est représenté en relation avec les figures ld et 2 d On voit que la partie supérieure 36 x U de la cellule est limitée par une ligne de rangée horizontale 32 rl, une ligne de colonne verticale 32 cl et une ligne diagonale 38 x, alors que la partie inférieure 36 x L de la cellule est limitée par une ligne de rangée horizontale 32 r 2, une ligne de colonne verticale 32 c 2 et la ligne diagonale 38 x; dans l'espace de projection, la partie triangulaire supérieure 36 'x U, généralement scalène, est limitée par
des côtés 32 'rl, 32 'cl et 38 'x, alors que la partie trian-
gulaire inférieure, généralement scalène, 36 'x L est limitée par la diagonale 38 'x et des côtés 32 'c 2 et 32 'r 2 On considère d'abord les zones non texturées, telles que les zones non texturées 40 a et 40 b qui se convertissent en zones de même non texturées 42 a et 42 b dans les cellules fragmentées de l'espace PS D'autres zones de cellules dans l'espace VS (par exemple la zone 40 c ayant une texture schématiquement illustrée par des
hachures montant diagonalement vers la droite) sont conte-
nues seulement dans un domaine et peuvent nécessiter seulement qu'une distorsion géométrique apparaisse sous forme d'une zone texturée de même 42 c dans le fragment de cellule dans l'espace PS D'autres parties de la cellule sont limitées, texturées, et s'étendent jusqu'au bord du fragment triangulaire; ces parties doivent en conséquence être vérifiées quand à leur continuité dans d'autres fragments Ainsi, une zone texturée 40 d dans le fragment triangulaire inférieur 36 x L sera, après vérification, vue
comme s'étendant en tant que zone texturée de façon simi-
laire 40 e dans le fragment supérieur 36 x U, et en consé-
quence amènera le fragment prédistordu 36 'x L à comprendre une partie 42 d qui devra non seulement avoir la même texture que le fragment 40 d mais devra également s'adapter à la frontière le long de la diagonale 38 'x de la zone de fragment distordue supérieure 42 e avec laquelle elle doit partager une texture commune On notera que la texture de la zone 40 f, ayant des bords le long de lignes frontière 32 cl et 32 rl de la cellule, doit être vérifiée quant à son caractère commun avec des cellules adjacentes, exactement comme la zone distordue 42 f doit avoir sa texture vérifiée quant à une continuité avec des zones continues le long
des bords 32 'cl et 32 'rl.
Le nouveau procédé selon l'invention commence ainsi par une fragmentation de faces, selon laquelle des faces polygonales sont fragmentées en prévoyant que le processeur de forme à base d'ordinateur sépare la trame VS totale (figure la) et sa trame PS associée (figure 2 a) selon des lignes d'une grille régulière (figures lb/2 b);
les faces dans chaque zone de grille rectangulaire résul-
tante sont alors divisées selon une diagonale de zone
(figures lc/2 c) Les sommets 35 V de la grille rectangu-
laire résultante sont alors projetés de l'espace d'obser-
vation à l'espace du projecteur (en tant que sommets 35 P), l'intersection de chaque bord projeté et de chaque limite de grille ou ligne diagonale étant projetée pour couper la même limite de grille/ligne diagonale dans l'espace du projecteur (figures ld/2 d) Les sommets et croisements de lignes étant des données déterminées, les équations de lignes (par exemple de la forme Lo=Li I+Lj J) peuvent être calculées pour les bords projetés Les valeurs de
modulation de texture, d'atténuation et d'ombrage, repré-
sentées par un terme de numérateur N et un terme de déno-
minateur D doivent, selon l'invention, être identiques dans l'espace de projection (c'est-à-dire pour chaque
sommet projeté) et dans l'espace d'observation (c'est-à-
dire pour le même sommet de grille dans l'espace d'obser-
vation), qu'un point d'une grille se trouve dans une face
ou non En conséquence, les termes de modulation au numé-
rateur et au dénominateur doivent être calculés pour tous les points et sommets de grille On préfère actuellement utiliser la règle de Kramer pour calculer la valeur du terme de modulation à chaque sommet Une fois que les valeurs de modulation d'ombrage, d'atténuation et de
texture dans l'espace PS sont adaptées à leur contre-
partie dans l'espace VS le long de tous les côtés, les faces sont écrêtées aux frontières rectilignes PS et la
trame PS est prête pour une synthèse et une projection.
Ce qui précède sera mieux compris en faisant référence à la figure 3 dans laquelle un polygône VS 50 est traité dans l'espace d'observation puis la grille finale et les points diagonaux à partir de celle-ci sont transférés vers l'espace de projection pour une prédis- torsion Ainsi, quand le système GIO est initialisé, on accède à la base de données 26 et la matrice de grille VS-PS est déplacée dans le processeur de forme 24 La matrice de grille fournit les quatre points de coin 50 a à
50 d, ayant respectivement des coordonnées de trame verti-
cale/horizontale Ilvr Jlv à I 4 v J 4 v Le polygône 50 va être transformé en un polygône distordu PS 60, les sommets 50 a-50 d du polygône VS étant transformés en sommets 60 a-60 d du polygône distordu PS Les valeurs de modulation de texture/atténuation/ombrage, représentées par les termes de numérateur et de dénominateur Ni et Di, o i est le numéro du sommet associé ( 1 <is 4), sont amenées à être identiques aux sommets projetés 60 a-60 d et aux sommets 50 a-50 d de l'espace d'observation, pour assurer une continuité des conditions aux limites et éviter des discontinuités brutales Les polygones 50/60 sont chacun divisés par une diagonale 52 ou 62, respectivement Le polygône distordu PS 60 peut maintenant être séparé en un triangle supérieur 64 limité, au moins partiellement, par une diagonale 62, et un triangle inférieur 65, lui-même
limité, au moins partiellement, par la même ligne diago-
nale 62 ' Maintenant, chacune des lignes 56-59 résultante aux frontières entre des zones texturées VS différentes déterminera des points sur les bords de grille et les bords diagonaux de l'espace VS qui sont transformés en d'autres points, dans l'espace de projection, auxquels les lignes frontières 66-69 de zones texturées analogues s'étendent entre les points des bords transformés et de la ligne diagonale Ainsi, un premier point VS de coordonnées I 5 Vet J 5 và l'extrémité supérieure de la ligne frontière 56 est transformé en un point PS de coordonnées
I 5 p et J 5 p à la limite supérieure de la ligne fron-
tière PS 66, et ainsi de suite.
En relation avec les figures 4 a-4 e, on va repré-
senter en détail une mise en oeuvre particulière du procédé selon la présente invention pour une correction de distorsion par fragmentation de cellules Le procédé est général et fonctionne avec toute scène ayant une image formée dans un espace d'observateur VS par un ensemble de polygônes convexes, tels qu'un polygône 70 ou analogue, constitué d'une pluralité Nde sommets Vl,V 2,V 3,V 4 qui sont mémorisés dans un ensemble ordonné dans le sens des aiguilles d'une montre lVl,V 2,V 3,V 4, } En continuant à
utiliser les conventions précédemment établies, la direc-
tion I est la coordonnée verticale du haut vers le bas et la direction J est la coordonnée horizontale de la gauche vers la droite Une pluralité de cellules 71 est créée par un placement commandé par ordinateur d'une grille 72 créée de façon autonome sur la trame; la grille comprend de nombreuses lignes horizontales de rangées 72 r et lignes verticales de colonnes 72 c dont chacune est mappée de l'espace de l'observateur à l'espace du projecteur par un mappage défini par le rayon de la surface de projection, la position et l'attitude de projection, la position et l'attitude d'observation, les définitions de trame et les équations de l'objectif de projection Pour fournir au moins un polygône PS prédistordu qui, quand il est projeté sur la surface de projection courbe, formera une image pour l'observateur qui semble très proche du polygône donné 70, on utilisera les intersections des côtés de polygône et des lignes de grille pour déterminer l'ensemble de rectangles de grille et de parties de rectangle de grille qui constitue exactement un polygône Le procédé d'ensemble consiste à diviser chaque rectangle de grille en deux triangles en utilisant une diagonale de cellule qui, pour faciliter le calcul, sera choisie de façon déterminée pour être la diagonale ayant une pente positive m (par exemple, pour une trame ayant une dimension verticale croissante dans la direction I vers le bas et une dimension horizontale croissante dans la direction J vers la droite, ce sera une diagonale allant du coin supérieur gauche de chaque cellule au coin inférieur droit de celle-ci) Le sommet Vl a une position (Il,J 1) alors que le sommet V 2 a une position (I 2,J 2) et ainsi de suite; la grille présente un écart de lignes AI entre lignes de rangées 72 r et un écart AJ entre lignes de colonnes 72 c Chaque cellule de grille est un domaine et chaque face de polygône 70 est écrêtée jusqu'à un domaine de cellule unique en rétrécissant d'abord le polygône 70 pour tous les domaines dans une rangée de trame puis en cassant la rangée en cellules de domaines individuels, couvrant chacun une colonne unique On verra immédiatement que ( 1) la réduction opposée (c'est-à-dire jusqu'à une rangée unique dans une colonne des cellules) peut aussi
facilement être utilisée de même que l'on peut simultané-
ment rétrécir dans les directions des lignes et des colonnes, et ( 2) que certains polygones (tel que le petit polygône triangulaire 70 ' défini par les sommets V 5, V 6 et V 7) s'adaptent entièrement dans un domaine (par exemple la cellule 71) et doivent être rapidement reconnus comme un
cas particulier.
L'algorithme du procédé "d'établissement de fenêtre" examine d'abord tous les sommets VS initiaux "(Il,Jl), (I 2,J 2),,(Im,Jm)} et détermine les maxima et
les minima: Ivmin, Jvmin, Ivmax et Jvmax; en particu-
lier, pour le polygône 70, Ivmin est I 4 et Ivmax est 12, alors que Jvmin est J 3 et Jvmax est Jl Les valeurs I maximum et minimum sont alors divisées par la dimension de rangée de grille LI pour déterminer les numéros de rangées de grille maximum et minimum respectifs S Imin et S Imax, tandis que les valeurs J minimum et maximum (Jvmin et Jvmax) sont divisées par la dimension de colonne de grille AJ pour déterminer les numéros de colonne de grille minimum et maximum S Jmin et S Jmax, respectivement Une comparaison est alors faite entre les numéros de rangée de grille maximum et minimum S Imin et S Imax et également entre les numéros de colonne de grille maximum et minimum S Jmax et S Jmin Si tous les sommets de polygône sont dans un domaine de grille (par exemple tous les sommets du polygône 70 ' sont dans le domaine unique 71), comme cela est déterminé par S Imin=S Imax et S Jmin=S Jmax, aucune autre localisation n'est requise et une sous-procédure séparée "sortie de domaine" décrite ci-après est utilisée pour compléter la partition triangulaire, si nécessaire, avant
d'envoyer des données de cette face à la fin de la procé-
dure "d'établissement de fenêtre" Si d'autre part, le polygône initial 70 a des sommets qui tombent dans plus d'un domaine, alors les diverses rangées, chacune avec une
valeur SI allant de S Imin à S Imax, sont traitées indivi-
duellement Chaque polygône peut avoir une rangée unique de domaines ou plusieurs rangées de domaines (par exemple le polygône 70 a des composantes de face dans les domaines de rangées 76 i, 76 j et 76 k) Pour chaque bord de polygône, on détermine les rangées de grille S Il et SI 2 de la paire de sommets constituant ce bord particulier (par exemple pour le bord 74 b, la première rangée de grille S Il est la rangée 76 k, dans laquelle est situé le premier sommet V 2, tandis que la seconde rangée de grille est la rangée 76 j dans laquelle le sommet V 3 de l'extrémité opposée est situé) On teste d'abord les rangées de grille S Il et SI 2; si ces rangées de grille ne diffèrent pas (par exemple le bord 74 a a un premier sommet Vl et un second sommet V 2 se trouvant tous deux dans la même rangée de grille 76 k), alors aucun autre traitement de rangée de grille n'est requis et le processus passe au traitement
des colonnes de grille, comme cela sera exposé ci-après.
Toutefois, si les rangées de grille de deux sommets cons-
tituant le bord diffèrent effectivement (par exemple le bord 74 d a un premier sommet V 4 dans une première rangée 76 i et un second sommet Vl dans une rangée de grille différente 76 k), alors, pour toutes les lignes de rangées
horizontales 72 r, 72 r', formant les bords de ces ran-
gées de grille 76 i et 76 k dans lesquelles sont situés les
sommets, et pour toutes les rangées de grille intermé-
diaires, on calcule l'intersection (Ix,Jx) entre chacune de ces lignes horizontales et le bord du polygône (par exemple si les premier et second sommets sont (Il,J 1) et (I 2,J 2), la pente m=(J 2-J 1)/(I 2-I 1), et l'intersection de rangée Ix est le produit d'un numéro de rangée de grille R et de la distance t I entre les rangées de grille, alors que la valeur d'intersection Jx est donnée par Jx=Jl + m(Ix-I 1)) Chacun de ces points d'intersection de rangées est ajouté, l'ordre dans le sens des aiguilles d'une montre étant maintenu, à l'ensemble initial de sommets constituant le polygône Ainsi, les sommets du polygône
initial {V 1,V 2,V 3,V 4) après traitement de rangées, devien-
nent {Vl,V 2,VA,V 3,VB,V 4,VC,VD}.
Maintenant, pour chaque rangée de grille conte-
nue dans le polygône 70, ayant précédemment déterminé qu'il y a plus d'une telle rangée de grille de polygône, le résultat du test des valeurs horizontales J minimale et maximale S Jmin et S Jmax est utilisé Si les numéros de colonne de grille minimum et maximum sont égaux, alors un seul rectangle de grille est concerné dans la rangée de grille en cours de traitement Comme dans le cas o il n'y a pas de différence entre les numéros de rangées de grille maximum et minimum, on accède au sous-processus de "sortie de domaine" pour achever la partition triangulaire, si nécessaire, pour le domaine de grille, avant que les données soient extraites et utilisées pour construire la partie du polygône prédistordue qui prend place dans le domaine PS correspondant au domaine VS qui est traité Si toutefois, S Jmin#S Jmax pour cette rangée, alors plus d'une colonne de grille est concernée et chaque côté de polygône (dans la rangée de grille en cours de traitement) est exa-
miné et les colonnes SJ 1 et SJ 2 des deux sommets délimi-
tant ce côté sont déterminées Par exemple, dans la rangée 76 i (figure 4 b), on trouve qu'il y a plus d'une colonne (à savoir les colonnes 75 f, 75 g et 75 h) qui sont concernés comme contenant une partie 70 x du polygône 70 Si plus
d'une colonne de grille est présente (comme dans l'exem-
ple) alors pour chaque côté de polygône (par exemple les côtés 76, 77 et 78) le processus consiste à calculer l'intersection (Iy,Jy) du côté de polygône et des lignes de colonne de grille verticales 72 c constituant les colonnes de grille impliquées Ces intersections de lignes verticales de colonnes (à savoir les intersections VE et VF) sont trouvées en établissant les sommets des côtés de polygône VB=(Il,J 1) et V 4 =(I 2,J 2), puis en trouvant la pente m'=( 12-Il)/(J 2-l J); la valeur horizontale Jy d'intersection de ligne verticale est alors le produit d'un numéro de colonne de grille C et de la distance AJ
entre les colonnes de grille, tandis que la valeur d'in-
tersection verticale Iy=Il+m'(Jy-Jl) Chacun de ces points d'intersection est ajouté, en maintenant toujours l'ordre du sens des aiguilles d'une montre, à l'ensemble initial de sommets pour la rangée de grille considérée En outre, toute intersection d'une ligne formant une rangée (par exemple la ligne ajoutée 78 requise pour fermer la partie de polygône 70 x et la rangée considérée) avec l'une des lignes verticales (par exemple les points drintersection VP et VQ) est ajoutée à l'ensemble de sommets de rangée de
grille (par exemple l'ensemble (VB,VE,V 4,VF,VC,VP,VQ}).
Après que chaque colonne de la rangée de grille a été déterminée, le sous-processus de "sortie de domaine" est appelé pour parachever la partition triangulaire, si nécessaire, pour ce rectangle de grille On voit que ceci achève un cycle de traitement en "double boucle" avec une boucle mineure utilisée pour déterminer chacune d'au moins une colonne dans chacune d'au moins une rangée tombant dans la boucle majeure de ce processus "d'établissement de fenêtre" Ainsi, le processus qui précède sert à fournir un ensemble ordonné de sommets pour chaque domaine de
grille 71 de la trame dans l'espace de l'observateur.
La figure 4 c représente un tel domaine de grille 71 x; en particulier, le domaine de la colonne 75 g et de la rangée 76 i, incluant le dernier sommet ordonné du coin initial V 4, est représenté La partie de polygône 70 x'
dans ce domaine 71 x est représentée avec des hachures ver-
ticales; les points de grille du domaine sont {V 4, VF, VP, VQ, VE} Le sous-processus "sortie de domaine" est
utilisé pour chaque domaine de grille 71 Dans chaque do-
maine de grille concerné (o le bord supérieur du domaine de grille 71 t est appelé Itop et le bord gauche de grille 711 est appelé Jleft), on détermine, pour chaque sommet de polygone (par exemple les sommets V 4, VF, VP, VQ et VE) de quel côté d'une diagonale de grille 78, s'étendant du coin de grille supérieur gauche au coin de grille inférieur droit, c'est-à-dire avec une pente positive, est placé chacun des sommets Ceci est réalisé en calculant une quantité= Side=(Iv-Itop)-m D*(Jv- Jleft), o (Iv,Jv) est l'emplacement du sommet de polygône considéré et m D est la pente de la ligne diagonale 78, c'est-à-dire la distance AI entre les rangées de grille divisée par la distance AJ entre les colonnes de grille Si le sommet en cours de test est pratiquement sur la diagonale (la quantité Side étant égale ou sensiblement égale à zéro), alors ce point
de sommet particulier (Iv,Jv) est "capturé" dans le trian-
gle supérieur droit 71 U et dans le triangle de polygône inférieur gauche 71 L (voir figure 4 d) Si la quantité Side n'est pas sensiblement égale à zéro, l'emplacement du point de sommet précédent doit être considéré Si Side est inférieur à zéro et que le point précédent n'était pas
dans le triangle inférieur gauche, alors le point de som-
met particulier (Iv,Jv) sera dans la partie triangulaire supérieure droite 71 U du rectangle de grille, tandis que si Side est supérieur à zéro et que le point précédent
n'était pas dans le triangle supérieur droit, on doit cap-
turer le point de sommet (Iv,Jv) en cours d'investigation dans la partie de polygône triangulaire inférieure gauche 71 L Si Side était inférieur à zéro et que le point de sommet précédent était dans le triangle inférieur gauche 71 L, ou si la quantité Side est supérieure à zéro et que le point précédent était dans le triangle supérieur droit 71 U, le côté coupe la diagonale 78 et un sous-programme particulier "d'intersection" doit être appelé pour trouver le point de grille (ici, le point d'intersection de grille
VR) o le côté du polygône (ici le côté 76 entre les som-
mets VE et V 4) coupe la diagonale 78 Le point d'intersec-
tion VR est alors placé dans les deux parties de triangle du polygône 71 L et 71 U Enfin, une fois arrivé au dernier sommet (par exemple le point de grille VQ, si l'ensemble ordonné commence par le sommet VE), le processus est mis
en oeuvre pour le côté 79 Ce dernier côté, qui va du der-
nier sommet en retour vers le premier sommet, est testé et, si les premier et dernier sommets tombent dans des
parties de triangle opposées, le sous-programme "intersec-
tion" doit être appelé pour trouver le point d'intersec-
tion entre le côté constitué par ces sommets et la diago-
nale de grille 78, avant que le point d'intersection ne
soit mémorisé dans les deux ensembles de points de poly-
gône triangle Le sous-processus "sortie de domaine" est
parachevé en fournissant les ensembles de points de poly-
gône triangle résultant en tant que partie critique de distorsion du polygône initial Ainsi, comme cela est représenté en figure 4 d, le domaine 71 x est fourni en tant que première partie de face de polygône 70 A, formé dans le triangle polygônal inférieur gauche 71 L, avec l'ensemble de sommets ordonnés (VE,VR,VP,VQ}; le polygône contient également une partie de face 70 B dans le triangle polygo- nal supérieur droit 71 U, comprenant l'ensemble de sommets ordonnés {VR,V 4,VF,VP} On notera qu'il existe plusieurs
sous-programmes adaptés à être utilisés comme sous-pro-
gramme de détermination "d'intersection" susmentionné Un tel sousprogramme peut trouver l'intersection sur la base de l'utilisation de trois points de grille, à savoir un
point de coin de grille supérieur gauche (Iu,Ju), le som-
met de départ (I 1,J 1) du côté du polygône considéré, et le sommet terminal (I 2,J 2) du côté du polygône Une première quantité del I peut être calculée par (I 2-I 1), alors qu'une seconde quantité del J est calculée par (J 2-J 1), de sorte qu'une constante K = lm D*(Jl-Ju)(Il-Iu)l/(del I-m D*del J)
peut être calculée et utilisée pour trouver les coordon-
nées du point d'intersection de la diagonale (Ir,Jr), o Ir = Il+ K*del I et Jr = Jl+K*del J. Chacun des points dans l'ensemble de points
ordonnés résultant est transformé en un point correspon-
dant dans les triangles 71 'U et 71 'L de l'espace PS (figure 4 e), en utilisant la matrice de transformation
obtenue en connaissant les angles de projection impli-
qués Ainsi, dans le triangle 71 L, l'ensemble de points IVE,VR,VP,VQ} se transforme en l'ensemble de points (VE',VR',VP',VQ'}, et chacun de ces points peut maintenant être relié par un côté (par exemple le côté 76 ' reliant les points VE' et VR', exactement comme le côté 76 reliant
les points VE et VR dans le triangle de grille rectangu-
laire initial 71 L) La texture de la partie 70 'A est alors adaptée à celle de la partie de polygône 70 A, et ainsi de suite. Bien qu'un mode de réalisation particulier du
nouveau procédé de fragmentation en polygones selon l'in-
vention pour assurer une correction de distorsion dans des systèmes de génération d'image ait été décrit en détail, de nombreuses variantes et modifications pourront être
apportées par l'homme de l'art.

Claims (9)

REVENDICATIONS
1 Procédé pour prédistordre une scène de trame
vidéo dans un espace de projection (PS) formée de poly-
gônes comprenant des côtés, destinée à une projection sur une surface de projection de façon à être observée sous forme d'une scène de trame vidéo dans un espace d'obser- vation (VS), ayant des polygônes définis par des côtés,
par un observateur dans l'espace d'observation VS, carac-
térisé en ce qu'il comprend les étapes suivantes: a) affecter une grille rectangulaire, avec une multiplicité de lignes de rangées ( 32 r-m) et de lignes de colonnes ( 30 c-n), pour diviser la trame VS en une matrice de cellules ( 34-rc); b) disposer une ligne diagonale ( 36) entre des coins opposés de chaque cellule dans la matrice de grille de trame VS; c) déterminer un ensemble ordonné de tous les points pour lesquels chaque côté d'un polygône coupe l'une quelconque des lignes de grille et des lignes diagonales; d) projeter en retour chaque point VS dans
l'espace de projection PS pour déterminer une transfor-
mation associée dans un ensemble de transformation de points projetés PS; e) créer des lignes reliant chaque paire de points projetés PS correspondant à une paire de points VS reliés par un côté de polygône en intersection; et f) adapter les facteurs de zone de texture dans chaque zone de trame PS ainsi formée à des facteurs dans
la zone VS correspondante.
2 Procédé selon la revendication 1, caractérisé en ce que l'étape a) comprend l'étape consistant à former
une grille de cellules rectangulaires.
3 Procédé selon la revendication 2, caractérisé
en ce que chaque cellule est un carré.
4 Procédé selon la revendication 1, caractérisé en ce que l'étape b) comprend en outre l'étape consistant à prévoir toutes les lignes diagonales dans la même direc- tion. Procédé selon la revendication 4, caractérisé
en ce que toutes les lignes diagonales ont une pente posi-
tive. 6 Procédé selon la revendication 1, caractérisé en ce que l'étape d) comprend les étapes consistant à:
mémoriser un ensemble de points de transforma-
tion pour au moins une relation VS-PS prédéterminée; et retrouver l'ensemble mémorisé chaque fois que la
relation VS-PS se produit.
7 Procédé selon la revendication 6, caractérisé en ce que l'étape d) comprend en outre l'étape consistant
à mémoriser des ensembles de points de transformation pré-
calculés pour une multiplicité de relations VS-PS.
8 Procédé selon la revendication 7, caractérisé en ce que les ensembles précalculés et mémorisés couvrent sensiblement toutes les relations d'angles de projection
VS-PS attendues.
9 Procédé selon la revendication 1, caractérisé en ce que l'étape f) comprend l'étape consistant à adapter la texture de zone VS à une texture PS calculée pour
chacun de l'ensemble des points de grille.
Procédé selon la revendication 9, caracté-
risé en ce que la texture de zone présente un coefficient
de modulation calculé en utilisant la règle de Kramer.
11 Procédé selon la revendication 9, caracté-
risé en ce que la texture de zone est une fonction ayant un numérateur N et un dénominateur D et en ce que l'étape (f) comprend les étapes suivantes: adapter le numérateur Np dans l'espace PS au numérateur Nv dans l'espace VS pour chaque zone texturée; et adapter simultanément le dénominateur Dp dans l'espace PS au dénominateur Dv dans l'espace VS pour
chaque zone texturée.
12 Procédé selon la revendication 11, caracté-
risé en ce que les adaptations de zones texturées sont suffisamment proches pour empêcher des changements de
modulation brutaux aux frontières de zones.
FR9203305A 1991-04-03 1992-03-19 Procede de fragmentation en polygones de correction de distorsion dans des systemes de generation d'image par ordinateur. Expired - Fee Related FR2674973B1 (fr)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
US07/679,807 US5319744A (en) 1991-04-03 1991-04-03 Polygon fragmentation method of distortion correction in computer image generating systems

Publications (2)

Publication Number Publication Date
FR2674973A1 true FR2674973A1 (fr) 1992-10-09
FR2674973B1 FR2674973B1 (fr) 1997-01-31

Family

ID=24728454

Family Applications (1)

Application Number Title Priority Date Filing Date
FR9203305A Expired - Fee Related FR2674973B1 (fr) 1991-04-03 1992-03-19 Procede de fragmentation en polygones de correction de distorsion dans des systemes de generation d'image par ordinateur.

Country Status (3)

Country Link
US (1) US5319744A (fr)
CA (1) CA2062936C (fr)
FR (1) FR2674973B1 (fr)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6437791B1 (en) * 1999-06-11 2002-08-20 Creative Technology Ltd. Method and apparatus for supporting texture patterns larger than supported natively by a graphics chip

Families Citing this family (62)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
GB2267203B (en) * 1992-05-15 1997-03-19 Fujitsu Ltd Three-dimensional graphics drawing apparatus, and a memory apparatus to be used in texture mapping
JP3466661B2 (ja) * 1993-06-29 2003-11-17 キヤノン株式会社 画像処理装置及びその方法
US5691765A (en) * 1995-07-27 1997-11-25 Sensormatic Electronics Corporation Image forming and processing device and method for use with no moving parts camera
US5850225A (en) * 1996-01-24 1998-12-15 Evans & Sutherland Computer Corp. Image mapping system and process using panel shear transforms
US5878174A (en) * 1996-11-12 1999-03-02 Ford Global Technologies, Inc. Method for lens distortion correction of photographic images for texture mapping
US5898438A (en) * 1996-11-12 1999-04-27 Ford Global Technologies, Inc. Texture mapping of photographic images to CAD surfaces
US6249289B1 (en) * 1996-11-27 2001-06-19 Silicon Graphics, Inc. Multi-purpose high resolution distortion correction
US6104405A (en) * 1997-02-26 2000-08-15 Alternate Realities Corporation Systems, methods and computer program products for converting image data to nonplanar image data
DE19733370C2 (de) * 1997-08-01 2000-07-06 Agfa Gevaert Ag Vorrichtung und Verfahren zum Kopieren von Bilder auf lichtempfindliches Aufzeichnungsmaterial
US5956043A (en) * 1997-09-18 1999-09-21 Novell, Inc. Textured tile rotation system and method
US6232980B1 (en) * 1998-03-18 2001-05-15 Silicon Graphics, Inc. System and method for generating planar maps of three-dimensional surfaces
US6433840B1 (en) * 1999-07-22 2002-08-13 Evans & Sutherland Computer Corporation Method and apparatus for multi-level image alignment
US6380936B1 (en) * 1999-10-22 2002-04-30 Microsoft Corportion System and method for inferring projective mappings
GB0010685D0 (en) 2000-05-03 2000-06-28 Koninkl Philips Electronics Nv Autostereoscopic display driver
US6819333B1 (en) * 2000-05-12 2004-11-16 Silicon Graphics, Inc. System and method for displaying an image using display distortion correction
US6754387B1 (en) * 2000-09-21 2004-06-22 International Business Machines Corporation Systems, method and program product for pattern information processing
US6792131B2 (en) * 2001-02-06 2004-09-14 Microsoft Corporation System and method for performing sparse transformed template matching using 3D rasterization
US20070165192A1 (en) * 2006-01-13 2007-07-19 Silicon Optix Inc. Reduced field angle projection display system
ATE396586T1 (de) * 2002-06-12 2008-06-15 Silicon Optix Inc Bildprojektionssystem und -verfahren für kurze reichweiten
US7714943B2 (en) * 2002-06-12 2010-05-11 Geo Semiconductor Inc. Ultra-thin image projection system
TWI231886B (en) * 2003-01-08 2005-05-01 Silicon Optix Inc Image projection system and method
US6811264B2 (en) 2003-03-21 2004-11-02 Mitsubishi Electric Research Laboratories, Inc. Geometrically aware projector
US7502024B2 (en) * 2003-09-25 2009-03-10 Honeywell International Inc. Texture based circular arc generation
NZ525129A (en) * 2003-10-03 2006-09-29 Bruce Peter Parker An improved transformation method for creating pre-distorted images to event surfaces of televised events
US7280897B2 (en) * 2004-05-28 2007-10-09 Lockheed Martin Corporation Intervisibility determination
US7492965B2 (en) * 2004-05-28 2009-02-17 Lockheed Martin Corporation Multiple map image projecting and fusing
US7242407B2 (en) * 2004-05-28 2007-07-10 Lockheed Martin Corporation Reprojecting map images using graphical techniques
US7486840B2 (en) * 2004-05-28 2009-02-03 Lockheed Martin Corporation Map image object connectivity
CN1306460C (zh) * 2004-07-07 2007-03-21 中国科学院力学研究所 一种曲面测量方法
US7178125B1 (en) * 2004-07-07 2007-02-13 Optimal Corporation Method for modeling triangle meshed interconnect structures using an electrically equivalent three rectangle combination for each triangle in the triangle mesh
US7499214B2 (en) * 2006-03-20 2009-03-03 Hewlett-Packard Development Company, L.P. Ambient light absorbing screen
US7854518B2 (en) * 2006-06-16 2010-12-21 Hewlett-Packard Development Company, L.P. Mesh for rendering an image frame
US7907792B2 (en) * 2006-06-16 2011-03-15 Hewlett-Packard Development Company, L.P. Blend maps for rendering an image frame
US9137504B2 (en) * 2006-06-16 2015-09-15 Hewlett-Packard Development Company, L.P. System and method for projecting multiple image streams
US20070291184A1 (en) * 2006-06-16 2007-12-20 Michael Harville System and method for displaying images
US7800628B2 (en) * 2006-06-16 2010-09-21 Hewlett-Packard Development Company, L.P. System and method for generating scale maps
US20080001977A1 (en) * 2006-06-30 2008-01-03 Aufranc Richard E Generating and displaying spatially offset sub-frames
US20080002160A1 (en) * 2006-06-30 2008-01-03 Nelson Liang An Chang System and method for generating and displaying sub-frames with a multi-projector system
US20080024683A1 (en) * 2006-07-31 2008-01-31 Niranjan Damera-Venkata Overlapped multi-projector system with dithering
US20080024469A1 (en) * 2006-07-31 2008-01-31 Niranjan Damera-Venkata Generating sub-frames for projection based on map values generated from at least one training image
US20080088527A1 (en) * 2006-10-17 2008-04-17 Keitaro Fujimori Heads Up Display System
US20080088528A1 (en) * 2006-10-17 2008-04-17 Takashi Shindo Warp Image Circuit
US7891818B2 (en) 2006-12-12 2011-02-22 Evans & Sutherland Computer Corporation System and method for aligning RGB light in a single modulator projector
US20080239109A1 (en) * 2007-03-31 2008-10-02 David John Jennings Method and apparatus for correcting image distortion
US8733707B2 (en) 2008-04-17 2014-05-27 The Boeing Company Line transfer system for airplane
US8326587B2 (en) * 2007-12-13 2012-12-04 The Boeing Company System, method, and computer program product for predicting cruise orientation of an as-built airplane
US8005563B2 (en) 2007-10-26 2011-08-23 The Boeing Company System for assembling aircraft
US8358317B2 (en) 2008-05-23 2013-01-22 Evans & Sutherland Computer Corporation System and method for displaying a planar image on a curved surface
US8702248B1 (en) 2008-06-11 2014-04-22 Evans & Sutherland Computer Corporation Projection method for reducing interpixel gaps on a viewing surface
US8077378B1 (en) 2008-11-12 2011-12-13 Evans & Sutherland Computer Corporation Calibration system and method for light modulation device
US20100253683A1 (en) * 2009-04-01 2010-10-07 Munkberg Carl J Non-uniform tessellation technique
US8328365B2 (en) 2009-04-30 2012-12-11 Hewlett-Packard Development Company, L.P. Mesh for mapping domains based on regularized fiducial marks
US9235575B1 (en) 2010-03-08 2016-01-12 Hewlett-Packard Development Company, L.P. Systems and methods using a slideshow generator
US9641826B1 (en) 2011-10-06 2017-05-02 Evans & Sutherland Computer Corporation System and method for displaying distant 3-D stereo on a dome surface
CN103258341B (zh) * 2012-02-15 2015-04-01 腾讯科技(深圳)有限公司 一种三维投影挂点渲染方法及装置
TWI476730B (zh) * 2012-10-31 2015-03-11 Vivotek Inc 數位影像的反扭曲處理方法
US9773331B2 (en) 2013-08-23 2017-09-26 Disney Enterprises, Inc. Methods and systems for efficient graphics rendering
US9633459B2 (en) * 2013-08-23 2017-04-25 Disney Enterprises, Inc. Methods and systems for creating a hull that may have concavities
US9509939B2 (en) 2014-06-04 2016-11-29 Universal City Studios Llc Display for immersive window effect
US10140693B2 (en) * 2017-03-23 2018-11-27 Intergraph Corporation Motion imagery corner point sequencer
GB201713052D0 (en) * 2017-08-15 2017-09-27 Imagination Tech Ltd Single pass rendering for head mounted displays
CN114596416B (zh) * 2022-05-07 2022-07-08 武汉天际航信息科技股份有限公司 一种三维地物模型修复方法、系统、设备和存储介质

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO1987003980A2 (fr) * 1985-12-19 1987-07-02 General Electric Company Correction d'ensemble de distorsions dans un systeme d'imagerie en temps reel

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4763280A (en) * 1985-04-29 1988-08-09 Evans & Sutherland Computer Corp. Curvilinear dynamic image generation system
US4862388A (en) * 1986-12-15 1989-08-29 General Electric Company Dynamic comprehensive distortion correction in a real time imaging system

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO1987003980A2 (fr) * 1985-12-19 1987-07-02 General Electric Company Correction d'ensemble de distorsions dans un systeme d'imagerie en temps reel

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
AUSTRALIAN COMPUTER JOURNAL vol. 19, no. 3, Août 1987, pages 148 - 153 CRAIG MD ET AL. 'Registration of distorted images from airborne scanners' *
PATENT ABSTRACTS OF JAPAN vol. 16, no. 418 (P-1413)3 Septembre 1992 & JP-A-41 40 890 ( NIPPON TELEGR & TELEPH CORP ) 14 Mai 1992 *

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6437791B1 (en) * 1999-06-11 2002-08-20 Creative Technology Ltd. Method and apparatus for supporting texture patterns larger than supported natively by a graphics chip

Also Published As

Publication number Publication date
FR2674973B1 (fr) 1997-01-31
CA2062936A1 (fr) 1992-10-04
CA2062936C (fr) 2002-12-10
US5319744A (en) 1994-06-07

Similar Documents

Publication Publication Date Title
FR2674973A1 (fr) Procede de fragmentation en polygones de correction de distorsion dans des systemes de generation d&#39;image par ordinateur.
EP0650299B1 (fr) Procédé de traitement des niveaux de luminance dans une image composite et système de traitement d&#39;image appliquant ce procédé
JP4618287B2 (ja) 調整方法、及びシステム
US20030193527A1 (en) System and method related to data structures in the context of a computer graphics system
EP0661671B1 (fr) Procédé et dispositif de traitement d&#39;image pour construire à partir d&#39;une image source une image cible avec changement de perspective
US6793350B1 (en) Projecting warped images onto curved surfaces
EP0282364B1 (fr) Procédé de représentation de l&#39;image en perspective d&#39;un terrain et système pour sa mise en oeuvre
US7106348B2 (en) Texture information assignment method, object extraction method, three-dimensional model generating method, and apparatus thereof
US7136081B2 (en) System and method of line sampling object scene information
JP6808484B2 (ja) 画像処理装置および画像処理方法
EP0305274B1 (fr) Procédé et installation pour la réalisation d&#39;images en relief
EP2385405B9 (fr) Dispositif de projection panoramique, et procédé mis en oeuvre dans ce dispositif
EP0577380A1 (fr) Procédé et dispositif de réglage d&#39;une déformation d&#39;une image projetée
US8099264B2 (en) Geospatial modeling system providing inpainting and error calculation features and related methods
FR2580840A1 (fr) Poste d&#39;affichage graphique video et systeme de traitement de donnees graphiques pour poste de travail de conception assistee par ordinateur
JPH05143713A (ja) 複合像を発生する方法
FR2891936A1 (fr) Procedes, dispositifs et programmes de transmission d&#39;une structure de toit et de construction d&#39;une representation tridimensionnelle d&#39;un toit de batiment a partir de ladite structure.
JP2001211461A (ja) 映像歪み補正装置及びその方法とそれを利用した映像表示機器
CA2700879A1 (fr) Systeme de modelisation geospatiale fournissant des options de forme de construction selectionnables par un utilisateur, et procedes associes
CN113424103B (zh) 具有自由形式折叠镜的背投模拟器
CA1118249A (fr) Procede de prise de vue et de projection sur coupole-ecran spherique
US5793372A (en) Methods and apparatus for rapidly rendering photo-realistic surfaces on 3-dimensional wire frames automatically using user defined points
KR101772904B1 (ko) 몰입형 극장 시스템의 콘텐츠 시점 왜곡에 대한 실시간 보정방법 및 보정장치
CA3056496A1 (fr) Dispositif de projection aerienne et dematerialisee d&#39;une image numerique ou d&#39;une sequence d&#39;images numeriques, en particulier d&#39;une image auto-stereoscopique ou d&#39;une sequence d&#39;images auto-stereoscopiques
JPH10134205A (ja) コンピュータグラフィックの影付け方法

Legal Events

Date Code Title Description
TP Transmission of property
ST Notification of lapse

Effective date: 20101130