DE3782160T2 - Digitales simulationssystem zur erzeugung von realistischen szenen. - Google Patents

Digitales simulationssystem zur erzeugung von realistischen szenen.

Info

Publication number
DE3782160T2
DE3782160T2 DE8787905131T DE3782160T DE3782160T2 DE 3782160 T2 DE3782160 T2 DE 3782160T2 DE 8787905131 T DE8787905131 T DE 8787905131T DE 3782160 T DE3782160 T DE 3782160T DE 3782160 T2 DE3782160 T2 DE 3782160T2
Authority
DE
Germany
Prior art keywords
database
data
image
sub
resolution
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.)
Expired - Fee Related
Application number
DE8787905131T
Other languages
English (en)
Other versions
DE3782160D1 (de
Inventor
O Ellis
N Landis
J Mcmillen
L Moise
L Nack
Andrew Rosman
Chao Yang
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.)
Raytheon Co
Original Assignee
Hughes Aircraft 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 Hughes Aircraft Co filed Critical Hughes Aircraft Co
Publication of DE3782160D1 publication Critical patent/DE3782160D1/de
Application granted granted Critical
Publication of DE3782160T2 publication Critical patent/DE3782160T2/de
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
    • G06T1/00General purpose image data processing
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T15/003D [Three Dimensional] image rendering
    • G06T15/06Ray-tracing
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T15/003D [Three Dimensional] image rendering
    • G06T15/10Geometric effects
    • G06T15/40Hidden part removal
    • GPHYSICS
    • G09EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
    • G09BEDUCATIONAL OR DEMONSTRATION APPLIANCES; APPLIANCES FOR TEACHING, OR COMMUNICATING WITH, THE BLIND, DEAF OR MUTE; MODELS; PLANETARIA; GLOBES; MAPS; DIAGRAMS
    • G09B9/00Simulators for teaching or training purposes
    • G09B9/02Simulators for teaching or training purposes for teaching control of vehicles or other craft
    • G09B9/08Simulators for teaching or training purposes for teaching control of vehicles or other craft for teaching control of aircraft, e.g. Link trainer
    • G09B9/30Simulation of view from aircraft
    • G09B9/301Simulation of view from aircraft by computer-processed or -generated image

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Graphics (AREA)
  • Business, Economics & Management (AREA)
  • Educational Administration (AREA)
  • Educational Technology (AREA)
  • Aviation & Aerospace Engineering (AREA)
  • Computer Hardware Design (AREA)
  • Geometry (AREA)
  • Processing Or Creating Images (AREA)
  • Image Generation (AREA)

Description

  • Die vorliegende Erfindung betrifft visuelle und Sensor-Simulationssysteme und insbesondere digitale visuelle und Sensor-Simulationssysteme, welche für die Bereitstellung von statischen oder dynamischen perspektivischen Anzeigen realistischer Szenerien geeignet sind. Diese Szenen können aus realen geographischen Bereichen oder imaginären Bereichen bestehen. Für die visuelle Simulation ist das Auge der Sensor; indessen betrifft die Erfindung auch die Simulation von infraroten (IR) und Radar-Sensoranzeigen. Die Erfindung wird auch verwendet, um Luft- (Flugzeug, Helikopter), See- (Schiffe, U-Boote) und Boden- (Panzer) -Personal zu schulen. Die Erfindung wird gleichfalls für Luft-, Boden- oder See- Missionstraining, die Crew-Vorbereitung und für die Crew- Missionsschulung verwendet.
  • Gegenwärtige visuelle und Sensor-Simulationssysteme verarbeiten eine Hierarchie von Polygonen unter Verwendung von verdeckten Oberflächenalgorithmen (hidden surface algorithms) in im Pipeline-System arbeitenden Computerarchitekturen. Polygon-Datenbasen werden in Realzeit interpoliert, um dichte Bilder von Bildelementen (Pixeln) zu erzeugen. Da die Datenbasen von Polygon-Systemen dazu tendieren, im Hinblick auf die Datenanforderungen dürftig zu sein, können realistische Bilder von tatsächlichen geographischen Bereichen nicht erzeugt werden. Die Verarbeitungsanforderungen an Polygon-Systemen, welche verdeckte Oberflächenalgorithmen verwenden, tendieren dazu, gegenwärtige Systeme zu überladen, welche versuchen, Tiefflug zu simulieren, wenn der Betrachter unter klaren atmosphärischen Bedingungen zum Horizont aufschaut, da die Anzahl der verdeckten Oberflächen hinter jedem Pixel und die Anzahl der Polygone in dem Blickfeld sehr stark ansteigt.
  • Ein Buch mit dem Titel "Computer Image Generation", herausgegeben von Bruce J. Schacter, Copyright 1983, bezieht sich auf dreidimensionale Datenbasen. In verschiedenen Kapiteln behandelt es Simulationstechniken und Trainingseffizienzen. Algorithmen und Architekturen (zusammen mit Blockdiagrammen von einigen Architekturen), welche in verschiedenen Computer-Graphiksystemen verwendet werden, werden diskutiert. Aspekte des Datenbasis-Designs im Hinblick auf das Ausbilden von Bodenmerkmalen in der Datenbasis, damit sie die gleiche Größe, Form, Ort, Farbe und Struktur haben wie die Bodenmerkmale, die der Pilot sieht, sind erwähnt. Darstellungen des Terrains, der Kultur und von dreidimensionalen Objekten werden betrachtet. Darstellungen von Festkörpern, mittels "Octree-Verschlüsselung" (octree encoding), Algorithmen-Modellierungen und die Verwendung von Gleichungen zweiter Ordnung, um quadratische Objekte zu definieren, werden erörtert. Die Entwicklung von Terrain-Datenbasen, Kultur-Datenbasen und Objekt/Modell-Datenbasen werden als Punkte erwähnt, die in dem Design von sehr großen integrierten Schaltkreisen berücksichtigt werden müssen.
  • In einem neueren Papier von Nishimura et al., Proceedings IECON'84, Industrial Applications of Microelectronics, 1984, Seiten 270-274, ist ein paralleles Multicomputer-System beschrieben, welches vorwiegend für die Erzeugung von dreidimensionalen Bildern vorgesehen ist. In dem beschriebenen System werden Computer-Einheiten (unit computers) radial mit einem Zentralcomputer verbunden, um ein paralleles Pipeline-Verarbeitungsschema durchzuführen. In diesem Schema wird ein Bildrahmen mittels einer Strahlengangsbestimmungs- Näherung (rag tracing approach) derartig erzeugt, daß die Berechnung der Lichtintensitäten für die gesamte Anzahl der Pixel eines Rahmens durch die Computer-Einheiten geteilt wird, wobei jeder parallel mit den anderen arbeitet. Die verwendete Hardware-Konfiguration besteht aus einem Datenbasis-System, einem Datenmanipulations-System, einer Intercomputer-Speicher-Swapping-Einheit, dem Zentralcomputer, einer Mehrzahl von Computer-Einheiten und einem Rahmenspeicher-System. Alle Computer-Einheiten haben die gleiche Funktion und sind radial mit dem Zentralcomputer verbunden. Darüberhinaus sind die Computer-Einheiten über einen Datenkollektor mit dem Rahmenspeicher-System verbunden, das die Bilddaten für die Pixel eines Rahmens speichert.
  • Mit dem zuvor beschriebenen Hardware-Design wird das folgende Verfahren zur Erzeugung einer Sequenz von dreidimensionalen Bildern durchgeführt: Gemäß den Befehlen des Anwenders teilt der Zentralcomputer den Schirmbereich in eine Anzahl von Subschirmen, und jede Computer-Einheit führt die gleiche Funktion im Hinblick auf die Berechnung der Lichtintensitäten der Pixel auf dem Subschirm, die von dem Zentralcomputer zugewiesen worden sind, unabhängig von den anderen Computer-Einheiten durch.
  • Indessen ist in einem derartigen Multicomputer-System die zu verarbeitende Datenmenge für ein einzelnes Bild nach wie vor erheblich, da, wie zuvor erwähnt, die Computer-Einheiten die gleichen Berechnungs funktionen unter Verwendung der gleichen Verarbeitungsalgorithmen auf die Datenbasis-Struktur für jedes Pixel des Bildschirmes durchführen, unabhängig davon, daß Bereiche von "höherem Interesse" (beispielsweise ein Gebäude im Zentrum des Schirms) existieren, welche eine hohe Auflösung erfordern, als auch Bereiche von "niedrigerem Interesse" (beispielsweise ein Baum an dem Rand des Schirms), welche eine niedrigere Auflösung verlangen.
  • Es ist daher die Aufgabe der vorliegenden Erfindung, ein Computerbild-Erzeugungsystem bereitzustellen, welches den zu verarbeitenden Datenbetrag für die Anzeige von dreidimensionalen Bildern auf einem Schirm vermindert.
  • Diese Aufgabe wird durch ein Computerbild-Erzeugungssystem gemäß dem Anspruch 1 und ein Verfahren zur Erzeugung kodierter Bildsignale gemäß dem Anspruch 13 gelöst.
  • Ein weiterer Vorteil der vorliegenden Erfindung liegt darin, daß realistischere Bilder bereitgestellt werden, da die Aufteilung eines Schirms, wie er von einem Betrachter gesehen wird, in Bereiche von "höherem Interesse" und Bereiche von "niederem Interesse" dem Bildeindruck eines menschlichen Auges entsprechen, in dem Objekte in dem Zentrum des Blickfeldes mit hoher Auflösung betrachtet werden, während Objekte an dem Rand des Blickfeldes mit einer geringeren Auflösung betrachtet werden.
  • Auf die obigen Erwägungen wird im einzelnen dadurch eingegangen, daß die computerbilderzeugten (CIG) Anzeigen verbessert werden, während die Anforderungen an die Daten vermindert werden, indem ein System bereitgestellt wird, welches einen Strahlengangsbestimmungsalgorithmus und eine Hierarchie von Volumenelementen (sog. Voxeln) verwendet, um nur die sichtbaren Oberflächen in dem Blickfeld zu verarbeiten. Gemäß diesem Aufbau wird eine dichte, dreidimensionale Voxel-Datenbasis von den Objekten, ihren Schatten und anderen Merkmalen entwickelt, welche beispielsweise mittels einer zweidimensionalen Bereichsphotographie aufgenommen worden sind. Die Strahlen werden in Subbildern gruppiert und die Subbilder werden als parallele Rechenprozesse auf einem Mehrfachbefehlsstrom- und Mehrfachdatenstrom-Computer (MIMD) ausgeführt.
  • Die Verwendung einer dreidimensionalen Voxel-Datenbasis, welche durch die Kombination von dreidimensionalen digitalen Terrain-Höhendaten mit zweidimensionalen ebenen Ansichten und Schrägluft-Photographien gebildet worden ist, erlaubt die Entwicklung einer realistischen und kosteneffektiven Datenbasis.
  • Verborgene Oberflächen werden nicht verarbeitet. Indem nur die sichtbaren Oberflächen verarbeitet werden, können nun Anzeigen produziert werden, die das "nap-of-the-earth" zeigen, wie es während eines Tieffluges eines Flugzeuges oder wie es von Bodenfahrzeugen aus gesehen wird. Derartige Anzeigen weisen herkömmlicherweise eine große Anzahl von verdeckten Oberflächen auf, welche nicht notwendigerweise verarbeitet werden müssen, um eine Realitätsnähe zu erreichen.
  • Bilder, die unter Verwendung dieser sichtbaren Oberflächennäherung erzeugt worden sind, enthalten reale Objekte (so wie Gebäude und Autos) und Terrain-Merkmale, die die Struktur der Szenerie bereitstellen. Die Bilder werden in parallelen Rechenprozessen (Tasks) verarbeitet. Indem eine große Anzahl von parallelen Rechenprozessen (beispielsweise 1000) eingesetzt wird, kann eine große Anzahl von langsameren, großintegrierten Schaltkreis(VLSI)-Prozessoren eingesetzt werden. Alternativerweise kann eine kleinere Anzahl von schnelleren Prozessoren gleichfalls verwendet werden. Darüberhinaus können weitere parallele Datenverarbeitungstechniken eingesetzt werden. Der großintegrierte Prozessor ist sowohl kosteneffektiv als auch effektiv im Hinblick auf die Durchführung von Befehlen und dem Speicher-Management einer komplexen Speicherhierarchie.
  • Die hier verwendete Näherung ist eine hochparalle Datenverarbeitungs-Systemlösung für die "nap-of-the-earth"- Flugsimulation durch einen hohen Pegel einer Detail- Datenbasis. Die Komponenten des Systemes sind der Anzeigenalgorithmus und die Datenstruktur, die Software, welche den Algorithmus und die Datenstruktur implementiert und die Datenbasis erzeugt, sowie die Hardware, die die Software ausführt. Der Algorithmus verarbeitet nur sichtbare Oberflächen, so daß das geheimnisvolle Überladungsmanagement-Problem auf der Design-Ebene eliminiert wird. Der Algorithmus löst das Bild in Subbilder auf und verarbeitet die Subbilder unabhängig. Ein Subbild ist eine Gruppe von benachbarten Pixeln; beispielsweise (1) ein Rechteck von N × M Pixeln, (2) bei M = H liegt ein quadratisches Subbild vor, (3) wenn N = 1 und M = die Gesamtanzahl der horizontalen Abtastlinien ist, dann besteht das Subbild aus einer einzelnen vertikalen Abtastlinie, und (4) wenn N = M = 1 ist, dann ist das Subbild ein einzelnes Pixel. Ein Clipping von partiell sichtbaren Oberflächen wird von dem Algorithmus für jedes Bild nicht benötigt.
  • Ein separater Software-Rechenprozeß (Software-Task) wird für jedes Unterbild erzeugt. Der Code oder die Logik in jedem Rechenprozeß ist identisch, aber die Eingangsparameter für jedes Subbild variieren, und die Daten, die von der Datenbasis verarbeitet werden, variieren mit jedem Rechenprozeß. Diese Rechenprozesse können parallel durchgeführt werden, da sie jedes Subbild unabhängig verarbeiten.
  • Eine mehrfache Befehlsstrahl-, bzw. eine mehrfache Datenstrahl-(MIMD)-Multiprozessor-Architektur oder ein Befehls- Fluß-Typcomputer (instruction-flow type computer) (beschrieben in der schwebenden Anmeldung Nr. 668,590, eingereicht am 05.11.1984, betitelt mit "Instruction Flow Computer" und übertragen auf den Rechtsnachfolger dieser Erfindung, PD- 84076) ist im Hinblick aüf die Durchführung der parallelen Verarbeitung dieser Rechenprozesse verwendbar. Software ist getestet und zur Entwicklung der Bilder auf MIMD-Computern verwendet worden von (1) DENELCOR, bekannt als der HEP- Computer, (2) ELXSI, (3) Alliant und (4) Perkin - Elmer. In der hier verwendeten Lösung ist die Verarbeitungszeit von der Komplexität der Szene unabhängig.
  • Jeder Typ von Bildprojektions-Systemen kann verwendet werden, um das computererzeugte Bild auf einen ebenen Schirm zu projizieren oder auf einen Schirm, der die Konfiguration einer Kuppel hat. Die hier offenbarte Strahlengangsbestimmungsnäherung, um auf die Datenbasis zuzugreifen, kann entweder auf lineare oder nichtlineare Optiken in dem Projektionssystem angepaßt werden, wobei die nichtlinearen Optiken entworfen sein können, um an die variable Bündelungsschärfe des Auges angepaßt zu sein.
  • Die zentrale Anforderung an ein Computerbild-Erzeugungssystem liegt in der Bereitstellung eines Bildes mit hoher Wiedergabetreue, insbesondere in dem interessierenden Bereich. Die in der vorliegenden Erfindung verwendete dreidimensionale Voxel-(Volumenelement)Algorithmus-Näherung unterscheidet sich grundlegend von der konventionellen zweidimensionalen Polygon-(Oberflächenelement)Näherung. In der dreidimensionalen Näherung wird der Inhalt einer Szenerie in einer natürlichen Art und Weise angezeigt, fast genauso, wie er von einem menschlichen Auge gesehen wird. Diese Näherung stellt ein neues Verfahren im Befriedigen von Bildübergabeanforderungen bereit. Viele Probleme, welche mit gegenwärtigen visuellen Systemen verbunden sind, werden in dem Aufbau der Erfindung eliminiert. Beispielsweise werden die Schlüsselanforderungen des "nap-of-the-earth"-Fluges für einen hohen Szene-Inhalt, gekoppelt mit vielen Details, parametrisch durch die parallele Voxel-Häherung angesprochen. Diese Näherung handhabt die Blickpunkt-Manövrierbarkeit, die Perspektive und die Bedeckung automatisch. Bedeckungsüberlappungen können einfach deshalb nicht auftreten, da nur sichtbare Oberflächen in dem Algorithmus berücksichtigt werden.
  • Die Erfindung wird durch die Bezugnahme auf die nachfolgende Beschreibung besser verstanden werden, wenn sie zusammen mit der begleitenden Zeichnung berücksichtigt wird, die zeigt:
  • Fig. 1a den Spielbereich mit einem Flugkorridor zu den Zielbereichen;
  • Fig. 1b eine Detaildarstellung des Flugkorridors, in einem etwas vergrößerten Maßstab;
  • Fig. 1c eine schematische Darstellung der hierarchischen Datenbasis;
  • Fig. 2 Terrain-Spuren entlang des Flugkorridors in dem interessierenden Bereich;
  • Fig. 3 zeigt die Organisation der Realzeit- und Nichtrealzeit-Subsysteme gemäß der vorliegenden Erfindung;
  • Fig. 4 betrifft den Algorithmus, sowie die Software - und Hardware-Aspekte der Erfindung und zeigt das organisatorische Konzept der parallelen modularen Computer-Architektur;
  • Fig. 5 eine Visualisierung des Weiterspringens des Strahles des dreidimensionalen sichtbaren Oberflächenalgorithmuses der vorliegenden Erfindung;
  • Fig. 6 eine geometrische Darstellung, die die Position des Auges, des Schirms, der Strahlen- und Schrittvektoren vor und nach gegenwärtigen Positions- und Lagetransformationen definiert;
  • Fig. 7 Darstellungen von vier verschiedenen Voxel-Daten-Strukturen, welche vier verschiedenen Fällen des dreidimensionalen sichtbaren Oberflächenanzeigenalgorithmuses der vorliegenden Erfindung entsprechen;
  • Fig. 8 eine Implementierung der Zwei-Speicher-Management-Näherung;
  • Fig. 9 eine Organisation eines globalen physikalischen Speichers; und
  • Fig. 10a, 10b und 10c alternative Organisationen des globalen virtuellen Speichers, um statisches und dynamisches Speicher-Management zu unterstützen.
  • Gemäß einem seiner Aspekte erreicht die vorliegende Erfindung die Datenquellen-Reduktion mittels der Technik der variablen Auflösung. Dies wird in Zusammenhang mit den Fig. 1a, 1b und 1c erklärt. Die Fig. 1a zeigt den allgemeinen Spielbereich, wobei der Pfeil auf einen Punkt von besonderem Interesse zeigt, der beispielsweise ein Flugkorridor sein kann, und der in Richtung auf einen Zielbereich gerichtet ist. In Fig. 1b ist der Flugkorridor in einem vergrößerten Maßstab dargestellt, der einen Flugkorridor mit einer Breite von ungefähr 200 Fuß repräsentiert, wobei in ihm ein Bereich von hohem Interesse liegt, sowie ein zweiter Flugkorridor, 2000 Fuß breit, welcher dem Piloten einen Bereich von geringerem Interesse zeigt, wenn der Korridor zu dem Zielgebiet abgeflogen wird. Fig. 1c zeigt schematisch die hierarchische Datenbasis, die unter Verwendung dieser Strategie erzeugt werden kann. Informationsspeicher-Zellen mit hoher Auflösung, welche Volumenelemente oder Voxel genannt werden, sind in einem Bereich der Datenbasis gezeigt, und sie entsprechen dem interessierenden Bereich in dem 200 Fuß breiten Flugkorridor. Voxel oder Volumenelemente mit geringerer Auflösung sind in einem anderen Bereich der schematischen Darstellung der hierarchischen Datenstruktur gezeigt, und diese Informationen würden einem geringer aufgelösten Detail in dem 2000 Fuß breiten Korridor entsprechen.
  • Die Strategie der Aufrechterhaltung verschiedener Pegel für die Terrain-Auflösungen und der Verminderung der Anforderungen an die Auflösung außerhalb von Terrain-Korridoren, welche einem Bereich von hohem Interesse entsprechen, vermindert die Anforderungen an den Datenbasis-Datenspeicher sowie an den Zugriff und den Transfer. Gleichfalls werden hierdurch auch die Anforderungen an die Hardware vermindert.
  • Eine Datenquelle mit verschiedenen Auflösungspegeln, die über den Spielbereich verteilt sind, erfüllt die Anforderungen eines "nap-of-the-earth" computererzeugten Bildanzeige- Systems. In einer derartigen Näherung werden die Datenbasis und die Transferraten vermindert. Dies vermindert gleichfalls die Kosten für die Hardware.
  • In den Flugkorridoren, so wie beispielsweise in dem 200 Fuß breiten Flugkorridor, unterstützt eine Auflösung von 3,8 Bogenminuten die Präsentation von Hilfs-Aufrufbefehlen, so wie beispielsweise von identifizierbaren Bäumen, Bodenbedeckungen und Gebäuden. In einer Entfernung von 100 Fuß stellt eine 1/10 Fuß-Auflösung 3,0 Bogen-Minuten dar. Daten innerhalb der Flugkorridore, welche aber außerhalb der 100 Fuß- Entfernung liegen, können von einer 1 Fuß-Auflösung getragen werden. Elemente des Spielbereiches, die nicht innerhalb der Zielaufnahme- oder Flugkorridorbereiche liegen, können mit den weitaus geringeren Auflösungen von 10 Fuß oder 100 Fuß getragen werden.
  • Während die "worst-case"-Plattform-Bewegungsspezifikationen hohe Datentransferraten zur Folge haben, akkommodieren kommerzielle Massenspeichereinrichtungen und Computer-Schnittstellen, kombiniert mit einer intelligenten Anordnung der "on-line"-Szeneriedaten, den Datentransfer.
  • Die höchste Datenauflösung beträgt 1/10 Fuß. Da sich ein Helikopter mit einer Geschwindigkeit von bis zu 50 Knoten bewegt, wird ein Transfer von ungefähr 100 Fuß von neuen Daten entlang eines Korridors mit hoher Auflösung, so wie dem 200 Fuß-Korridor von Fig. 1b, jede Sekunde benötigt. Wenn der Korridor mit der maximalen Auflösung 200 Fuß breit ist, benötigt die Simulation eines Helikopters, welcher sich durch den Korridor bewegt, den Transfer von ungefähr 10 Megabyte pro Sekunde. Daten mit geringerer Auflösung benötigen eine Transferkapazität von ungefähr 6 Megabyte pro Sekunde. Für ein Kampfflugzeug, das bei einer geringen Höhe und hoher Geschwindigkeit fliegt, sind die Daten geringerer Auflösung ausreichend, um das verwackelte Bild zu erzeugen, das aus dem Fenster infolge von Objekten gesehen wird, die sich nahe dem Flugzeug schnell durch das Blickfeld des Piloten bewegen.
  • Ein Extra-Speicher wird bereitgestellt, um die Such- und Warteverzögerungen zu kompensieren. Ein derartiger Speicher kann auf Platten bereitgestellt werden. Da Such- und Wartezeiten die Transferraten reduzieren, ist die Datenbasis so entworfen, daß diese Hindernisse minimiert werden. Um dies zu erreichen, wird das Terrain entlang eines Korridors in gleiche geographische "Spuren" geteilt, wie der Fig. 2 zu entnehmen ist. Die Daten für jede dieser Spuren befinden sich auf separaten, physikalischen Speichereinrichtungen und sind so organisiert, daß die Bewegung durch einen Korridor zu einem Transfer von angehäuften Daten führt, wodurch beispielsweise die Zeit minimiert wird, die benötigt wird, um den Lesekopf einer Platte zu bewegen. Die Daten sind gleichfalls mit optimalen physikalischen Blocklängen gespeichert, um die verschwendendon Verzögerungen durch die Wartezeit zu überwinden. Idealerweise befinden sich alle Daten geringer Auflösung zu allen Zeiten in dem Hauptspeicher, so wie den noch zu beschreibenden globalen, virtuellen Speichern, die in dem System verwendet werden, mit einem dynamischen Transfer von den Daten mittlerer und hoher Auflösung, wenn der Helikopter sich durch den Spielbereich bewegt. Ein derartiger Transfer wird aus einem Untersatz von aktiven Eingangs- Ausgangs-Einrichtungen vorhersagbar erreicht.
  • Der Transfer von Daten mittlerer und hoher Auflösung wird verwendet, um Bilder einer hohen Qualität zu erzeugen. Dies bedingt ein Speicher-Management der Speicherhierarchie des Systems (Platten, Halbleiterspeicher, Cache-Speicher, Register). Ein Speicher-Management-System steuert den Fluß von Daten durch das System, um die Voxel geringer und hoher Auflösung an dem Ort und an dem Zeitpunkt bereitzustellen, an dem sie benötigt werden.
  • Eine Kombination von Techniken wird verwendet, um die Daten für diese Bilder bereitzustellen. Im allgemeinen greift das Hauptcomputer-Bilderzeugungs-System auf die Datenbasis zu, um die Projektion der Landschaft auf der Anzeige zu errechnen, und zwar ohne eine Überlappung oder eine Transportverzögerung, die 100 mS überschreitet. Die Verarbeitungsleistung des Bildbereitstellungs-Systemes ist ausreichend, um die Aktualisierungsrate für den "worst-case"- Fall eines "nap-of-the-earth"-Tieffluges durch eine Szenerie zu erfüllen, die einen hohen Detail-Pegel in der Datenbasis benötigt. Mit der vorliegenden Erfindung tritt eine Verfinsterungs- oder Bedeckungsüberladung (occultation overload) nicht auf. Die Transportzeit entspricht der Rücklaufzeit; daher ist die Rechenzeit für das "worst-case"-Bild für diese Näherung invariant. Das Speicher-Management-System muß nur dafür sorgen, daß auf die relevanten Daten in dem Speicher zeitlich richtig zugegriffen werden kann. Dies bedingt die Errichtung von Datenpuffern, um Verzögerungen infolge von Zugriffszeiten zu kompensieren.
  • Daher stellt das Speicher-Management sicher, daß die Datenpuffer Terrain-Daten enthalten, die für die Bewegung des Flugzeugs über die nächsten 30 Bildrahmen hinwegprojiziert geeignet sind. Das Speicher-Management verlangt, daß die hierarchischen Datensegmente für die Bereiche geringer und hoher Auflösung von einem virtuellen Speicher (so wie beispielsweise einer Platte) weich in einen physikalischen Speicher transferiert werden und daß die Pixel-Dichte des Bildbereitstellungs-Systems dem interessierenden Bereich entspricht, der durch den Kopf- oder Helmsensor angezeigt wird, wie er konventionellerweise in Kopf- und Augenverfolgungsanzeigen verwendet wird.
  • Ein allgemeines Trainer-System für eine Mehrzahl von Aufgaben erfordert die Realzeit-Simulation der äußeren sichtbaren Umgebung, korreliert mit den inneren Sensoranzeigen, wobei die letzteren Radar, Infrarot-Anzeigen und TV-Systeme mit geringem Lichtpegel umfassen. Diese externe Umgebung ist aus statischen Land-, See- und atmosphärischen Merkmalen zusammengesetzt. Darüberhinaus müssen dynamische See- und atmosphärische Effekte sowie dynamische Objekte, so wie beispielsweise Panzer, Schiffe, Flugzeuge, Helikopter, Raketen und andere Feuerwaffen simuliert werden.
  • Die Hauptsubsysteme eines derartigen allgemeinen Trainer-Systemes mit mehrfachen Aufgaben führen das folgende durch:
  • 1. die Modellierung der Datenbasis und ihre Erzeugung;
  • 2. die sichtbare Computerbild-Erzeugung;
  • 3. die digitale Radar-Land-Massen-Simulation;
  • 4. andere Sensor-Simulationen;
  • 5. Bewegungserrechnung (Position und Lage) der Trainer- Plattform und anderer dynamischer Objekte; und
  • 6. Erzeugung der Simulationsanzeigen.
  • Fig. 3 zeigt die Aufspaltung der vorliegenden Erfindung in Nichtrealzeit- und Realtzeit-Subsysteme, die diese Funktionen durchführen. In dem Realzeit-System beginnt der Datenfluß am oberen Ende mit Eingaben von dem Piloten, der auf die gegenwärtigen Anzeigen antwortet. Diese Eingaben werden von dem Bewegungsrechner-Subsystem verarbeitet, um die gegenwärtigen und vorhergesagten Positionen und Lagen der Plattform des Piloten zu erzeugen. Das visuelle und Sensor- Simulations-Subsystem benutzt die Position und die Lage, um die visuellen und Sensorinformationen zu erzeugen, die zu dem Anzeigenuntersystem übertragen werden. Ein neuartiges Merkmal dieser Erfindung besteht in der Verwendung der gleichen Software zum Entwickeln und zur Verwendung der Datenbasen für sowohl die Nichtrealzeit- als auch die Realzeit-Subsysteme des Simulationssystemes. In dem Nichtrealzeit-Subsystem existiert ein geringerer Datendurchfluß als in dem Realzeit-Subsystem. Der höhere Durchfluß wird dadurch erzielt, daß parallele Datenverarbeitungskapazitäten in dem Realzeit- Subsystem hinzugefügt werden. Beispielsweise können 16 Subbild-Prozessoren in dem visuellen und Sensor-Simulations- Subsystem der Realzeitseite des Simulationssystemes vorgesehen werden, um die Realzeit-Bilderzeugung zu erzielen, während nur ein Subbild-Prozessor auf der Nichtrealzeitseite des Systemes benötigt wird, um diesen Aspekt der Datenverarbeitungsanforderungen bei der Bilderzeugung bereitzustellen.
  • Ein Simulationssystem zur Erzeugung von Computerbildern kann hierarchisch in vier Typen von Objekten aufgelöst werden. Diese sind: Algorithmen und Datenstrukturen; Software; Datenbasen und die Hardware. Diese Auflösung ist der Tabelle I zu entnehmen. Tabelle I Simulationssystem Algorithmen und Datenstrukturen Strahlengangsbestimmung und sichtbare Oberflächen A. Projeziere 3D-Strahlen vom Auge durch das Pixel (Bildelement) der 2D-Anzeigenoberfläche in die dichte 3D- Datenbasis der Voxel(Volumenelemente). B. Verarbeite die sichtbaren Oberflächen und den leeren Raum zwischen dem Auge und den sichtbaren Oberflächen. C. Die optimale Mischung von serieller und paralleler Verarbeitung erlaubt es dem System, aus dem optischen dynamischen Speicher-Management Vorteile zu ziehen. Software und Datenbasis Verdeckte Oberflächen A. Projiziere 3D-Datenbasis (Polygone) auf die 2D- Anzeigenoberfläche und interpoliere die spärliche Datenbasis, um die Pixel zu füllen. B. Verarbeite die sichtbaren und verdeckten Oberflächen. C. Die Verarbeitung ist vorzugsweise seriell, wenn eine Sortierung verwendet wird, um die verdeckten Oberflächen aufzulösen, aber sie kann hochparallel sein, wenn ein Z-Puffer verwendet wird, um die verdeckten Oberflächen aufzulösen. Hardware
  • Die Wechselbeziehung zwischen diesen vier Typen von Objekten wird aus dieser Tabelle sichtbar. Ein Schlüsselmerkmal, das aus der Tabelle I deutlich wird, ist die Abhängigkeit der Software, der Datenbasen und der Hardware von der Auswahl des Verarbeitungsalgorithmuses und den Datenstrukturen. Diese Abhängigkeit ist der Grund dafür, daß die Mehrfach- Befehlsstrom- und die Mehrfach-Datenstrom-Computer-Hardware- Näherung dieser Erfindung bei der Implementierung dieses Simulationssystemes radikal von existierenden "gepipelineten" und visuellen Sensor-Simulationssystemen verschieden ist. Daher erlaubt, obgleich die Mehrfach- Befehlsstrom/Mehrfach-Datenstrom-Implementation für eine parallele Verarbeitung der Strahlen sorgt, die Verarbeitung einer Sammlung von Strahlen in einem Subbild inn einer in dieser Implementation erlaubten seriellen Art und Weise, daß die Ergebnisse von vorigen Strahlverarbeitungen (wie beispielsweise der Abstand) verwendet werden können, um die Verarbeitung des nächsten Strahles zu minimieren.
  • Eine verbesserte Realität bei der Computerbild-Erzeugung bedingt ein Anwachsen der Größe der Datenbasis, welche in Realzeit zu verarbeiten ist und das damit verbundene Problem des Teilens dieser Daten mit vielen anderen Datenprozessoren, um die parallele Verarbeitung zu unterstützen. Ein Mehrfach-Befehlsstrom/Mehrfach-Datenstrom- Computersystem stellt eine Lösung für dieses Problem bereit. In einem derartigen Computer-System verbindet ein Zwischenverbindungsnetzwerk die Datenbas is mit parallelen Datenprozessoren. Das Design ist eines, das sich leicht in eine kleine Anzahl (10 oder weniger) von bestimmten, 32-Bit großintegrierten Schaltkreisen (VLSI) aufteilen läßt, die in diesem System umfangreich nachgebildet werden. Die ersten Beispiele von diesen 32-Bit VLSI-Mulitprozessor-Systemen sind gegenwärtig kommerziell von neuen Firmen, wie Sequent, Alliant und Encore erhältlich. Die parallele Aufteilung der Algorithmen ist ideal an die variablen Auflösungen angepaßt, die von einem dem Auge und Kopf folgenden, hochauflösenden Bereich-von-Interesse-System-Design benötigt werden.
  • Fig. 4 ist ein Blockdiagramm eines derartigen Systemes. Das System weist drei Hauptsubsysteme auf, welche parallel arbeiten:
  • 1. Die Subbild-Prozessoren (SIP) errechnen ein Bild des Terrains, statische Objekte auf dem Terrain und den Himmel;
  • 2. die Objekt-Prozessoren (OP) errechnen Bilder von dynamischen Objekten, Punkten, Linien, speziellen Zielen und Spezialeffekten; und
  • 3. einen Bild-Prozessor (IP), der diese Bilder mischt und sie für die Anzeige aufbereitet.
  • Die Algorithmen in den Subbild-Prozessoren und den Objekt- Prozessoren sind für ihre jeweiligen Rechenprozesse optimiert und sind nicht notwendigerweise die gleichen. D. h., daß die Subbild-Prozessoren einen dreidimensionalen sichtbaren Oberflächen-Algorithmus mit einer Strahlengangsbestimmung (die in die Diskussion bezüglich der Fig. 5 eingeführt wird) verwenden; während die Objekt- Prozessoren entweder die Strahlengangsbestimmungsalgorithmen oder einen verdeckten Oberflächenalgorithmus mit Polygonen verwenden können. Während die Objekt-Prozessoren ihre Datenbasen in den Objektspeichern (OM) nicht teilen müssen, müssen die Subbild-Prozessoren einen Zugriff auf die große Terrain-Datenbasis haben, die in den globalen virtuellen Speichereinheiten (GVMU) gespeichert ist. Sie greifen auf den Subsatz der Datenbasis zu, den sie in ihrem globalen physikalischen Speicher (GPM) benötigen, während die globalen virtuellen Speichereinheiten (GVMU) die Daten über das Zwischenverbindungsnetzwerk (ICN) anlegen, die die globalen physikalischen Speicher als nächstes benötigen. Der dreidimensionale visuelle Oberflächenalgorithmus verarbeitet nur sichtbare Oberflächen, wodurch das verfinsternde Überladungsproblem auf der Design-Ebene eliminiert wird. Der Algorithmus zerlegt den Schirm A in Subbilder B, wobei vier dieser Subbilder in Fig. 4 mit 1 bis 4 bezeichnet sind, und verarbeitet diese Subbilder unabhängig. Der Algorithmus benötigt kein Clipping von partiell sichtbaren Oberflächen. Ein separater Software-Rechenprozeß (Task) wird für jedes Subbild erzeugt, mit individuellen Tasks 1 bis N1. Der Code oder die Logik in jedem Task ist identisch, aber die Eingabeparameter für jedes Subbild variieren und die verarbeiteten Daten aus der Datenbas is variieren mit jedem Task. Diese Tasks können parallel durchgeführt werden, da sie jedes Subbild unabhängig verarbeiten. Der Algorithmus ist entworfen, um die Logik zu minimieren, die in einem mittleren Subbild-Task durchgeführt wird. Die Subbild- Prozessoren verwenden eine Mehrfach-Befehlsstrom- und Mehrfach-Datenstrom-Computer-Architektur, um das parallele Verarbeiten dieser Tasks durchzuführen, wobei ein jeder der N1-Tasks, der auf die Subbild-Prozessoren übertragen wird, seinerseits wieder in Parallel-Tasks zerlegt werden kann.
  • Der dreidimensionale sichtbare Oberflächen-Algorithmus ist in Fig. 5 visualisiert. Die Position des Auges des Betrachters und die Position der äußeren Begrenzung der Anzeigenoberfläche definieren das Blickfeld, und potentielle Strahlen starten von dem Auge und treten durch die Schirmprobenpunkte hindurch. Die Anzeigenoberfläche oder der Schirm kann, während er hier eben dargestellt ist, auch gekrümmt (beispielsweise sphärisch) sein. Die räumliche Auflösung der Bildelemente (Pixel) des Schirms und die spektrale Auflösung (Anzahl der Farben und der Quantisierungspegel pro Farbe) definieren die statische Qualität eines Anzeigerahmens. Die zeitliche Auflösung oder die Rahmenaktualisierungsrate (beispielsweise 30 Rahmen pro Sekunde) definiert die dynamische Qualität des Anzeigensystemes.
  • Fig. 5 zeigt die Datenbasis oder den Spielbereich mit Gebäuden und die Augenposition und den Schirm außerhalb der Datenbasis. Die Datenbasis ist über die X, Y-Ebene bei dem geeigneten Terrain oder Objekthöhenwert Z (X, Y) definiert. Die Anfangspositionsvektoren des Auges, (E) und die obere linke UL-, die untere linke LL- und die obere rechte UR-Ecke des Schirmes sind in Fig. 6 gezeigt. Das Auge ist anfangs bei dem Ursprung 0 und schaut entlang der X-Achse bei dem Zentrum des Schirmes, der sich in einer Entfernung von DX = 1 von dem Auge entfernt befindet.
  • Der Algorithmus verwendet die gegenwärtigen Lagewerte der Querneigung, der Längsneigung und des Scherungswinkels, um die drei Ecken des Schirmes um den Ursprung zu drehen. Die gedrehten Werte werden dann verwendet, um die skalierten Vektoren (U, V) zu bilden, die verwendet werden können, um den Positionsvektor eines Strahles R zu errechnen, und den normalisierten Strahlvektor Q. Das Ende des Strahlenvektors R befindet sich bei dem Auge E und sein Kopf befindet sich bei dem Probenpunkt auf dem Schirm, der durch Vielfache von U und V indeziert ist, oder R (PIX, LIN), mit PIX-Vielfachen von U und LIN-Vielfachen von V.
  • Das Folgende bezieht sich auf Fig. 6:
  • Beachte: Der Pfeil E zeigt an, daß die Augenposition von dem Ursprung bei (0, 0, 0) zu seiner gegenwärtigen , Position bei (EX, EY, EZ) verschoben wird.
  • * = ein einzelner Stern bedeutet Multiplikation
  • ** = ein doppelter Stern bedeutet zur Potenz
  • Die Indizes (PIX, LIN) werden verwendt, um das Zentrum eines bestimmten Pixels zu lokalisieren, auf den der Strahlenvektor gerichtet ist. Das Ende des Strahlenvektors befindet sich bei dem Auge, das sich anfangs am Ursprung befindet und allgemein werden der Strahlvektor R, der normalisierte Strahlvektor Q und der Schrittvektor S definiert durch:
  • Der Strahlenvektor ist zu der Verschiebung des Auges zu seiner gegenwärtigen Position bei (EX, EY, EZ) invariant. Der Algorithmus fährt damit fort, entlang des Strahles von dem Auge her fortzuschreiten und verwendet seine gegenwärtige Schrittposition:
  • um auf die Datenbasis zuzugreifen und um zu bestimmen, wann der erste nicht durchsichtige Voxel erreicht ist, wobei RNG der Abstand oder die Entfernung zwischen dem Auge und der gegenwärtigen Schrittposition ist. Diese Darstellung von S ist analog der parametrischen Darstellung einer Linie, die durch zwei Punkte (X1, Y1, Z1) und (X2, Y2, Z2) bestimmt ist, unter der Verwendung des Parameters t:
  • wobei t = 0 und 1 die Start- und Endpunkte definiert. Wenn die Lösung der ersten Gleichung für t als eine Funktion von X in die zweiten zwei Gleichungen substituiert wird, dann ergeben sich die folgenden, nicht parametrischen Gleichungen für Y(X) und Z(X):
  • Ein ähnlicher Satz von Gleichungen existiert für den Schrittvektor, welche von dem RNG-Parameter unabhängig sind:
  • wobei I = 1, 2, 3 und S(I) die X-, Y- und Z-Komponenten darstellt. Die Komponenten des Q-Vektors sind die Richtungskosinusse des Strahlenvektors:
  • wobei i, j und k Einheitsvektoren sind, die entlang den X-, Y- und Z-Achsen zeigen und A(Q, i) der Winkel zwischen den Q- und i-Vektoren ist.
  • Jeder Strahl kann parallel verarbeitet werden und keine verdeckten Oberflächen werden verarbeitet. Eine Pseudocode- Darstellung der Software, die den parallelen Prozeß des Weiterspringens entlang des Strahles durch eine hierarchische Voxel-Datenbasis implementiert, wird im folgenden beschrieben. In diesem Beispiel weist die Hierarchie vier Pegel auf. Abstandsschwellwerte TH_L (wobei L = 1, 4, 16, 64 ist) werden bei jedem Pegel verwendet, so daß die geeigneten groben Auflösungsfarben und Sensordaten verwendet werden, wenn der Abstand diese Schwellwerte übersteigt. Dies erlaubt es dem Strahl in effektiver Art und Weise, sich zu verdicken oder auszubreiten, wenn sich der Abstand von dem Auge erhöht, indem nur Farbwerte C_L von den größeren Voxeln mit gröberer Auflösung zurückgeführt werden, wenn der Abstand diese Schwellwerte übersteigt, und hat einen "Anti-Aliasing-Effekt" (antialiasing effect), der in die hierarchische Voxel-Datenbasis als ein Vorverarbeitungsschritt eingebaut ist, bevor eine wiederholende Bilderzeugung stattfindet. Dieser Algorithmus modelliert nicht nur die Reflexion von sichtbarer Sonnenbeleuchtung entlang Strahlen von reflektierenden Oberflächen zu dem Auge des Betrachters, sondern er modelliert auch die IR-Emission und Reflexion entlang den gleichen Strahlen, die von einem IR-Sensor empfangen werden oder die Reflexion von Radarstrahlen, die von einer Radarantenne empfangen werden. Weiterspringschleife entlang eines Strahles durch Pixel, die durch (I, J) indiziert sind und durch eine Hierarchie von Voxeln (L = 1, 4, 16, 64) unter Verwendung eines Pseudocodes
  • Definitionen der Variablen
  • RNG = Entfernung von Auge zum Weitersprungpunkt entlang dem Strahl
  • X(I) = Benennung des ganzzahligen Grenzpunktes entlang dem Strahl
  • S(I) = Voxel-Schnittindizes, welche mit X(I) zusammenhängen durch S(I) = X(I) + DELTA
  • L = 1, 4, 16, 64 = Voxel-Hierarchiepegel = Länge der Seite der Voxel
  • ST_L(S(1), S(2), S(3)) = Voxel-Zustand bei Pegel L und Position S(J)
  • C_L(S(1), S(2), S(3)) = Voxel-Farbe bei Pegel L und Position S(J)
  • TH_L = Entfernungs-Schwellwert bei Pegel L
  • C(I, J) = Schirmfarbe des Pixels, das durch (I, J) indiziert ist
  • R(I, J) = Entfernung, wenn das Weiterspringen entlang dem Strahl beendet wird
  • R_64(I, J)=Entfernung, wenn Weiterspringen entlang dem Strahl beim Pegel 64 beendet wird
  • Die Abstands- oder Entfernungs-Schwellwerte werden errechnet, indem zunächst der Winkel errechnet wird, der einem einzelnen Pixel gegenüberliegt
  • A_PIX = H_FOV/N_PIX,
  • wobei das horizontale Blickfeld gleich H_FOV und die Anzahl der Pixel pro Linie N_PIX ist. Die Bogenlänge, die diesem Winkel bei der Entfernung RNG gegenüberliegt, ist
  • L = A_PIX*RNG.
  • Die Entfernungs-Schwellwerte sind durch die Entfernung definiert, bei der ein Voxel, dessen Kante L Einheiten lang ist, den Winkel A_PIX füllen würde, wenn die Oberflächennormale des Voxels parallel zu dem Strahl hinab zum Zentrum von A_PIX wäre, so daß
  • TH_L = L/A_PIX = L*N_PIX/H_FOV = L*TH_1.
  • Ein Beispiel für diese Sequenz für TH_L ist 611, 2445, 9779 und 39114, für L = 1, 4, 16 und 64, mit N_PIX = 640 und H_ FOV = 60º. Es wird darauf hingewiesen, daß für ein ebenes Display A_PIX für das Zentral-Pixel genau errechnet wird, daß er aber ansteigt, wenn die Strahlen zu der Kante der Anzeige fortschreiten.
  • Der Code, welcher den STEP AT LEVEL L für jeden Level in der Hierarchie implementiert, ist in jedem Fall ähnlich und ist die Kern-Software (Kernel Software) der inneren Schleifen, die zur größten Rekursion der Optimierung (return for optimization) führt.
  • Die Schrittstrategie des Algorithmus ist mit einer groben Auflösung zu springen, bis der Strahl ein nicht durchsichtiges Voxel bei der Auflösung schneidet. Schritte mit hoher Auflösung (L = 1) werden nur durchgeführt, wenn die Entfernung kleiner ist als TH_4 und dann nur, nachdem ein nicht durchsichtiges Voxel mit grober Auflösung (L = 4) geschnitten worden ist. Die Farbwerte der Voxel mit grober Auflösung werden über ihre inneren Voxel mit höherer Auflösung gemittelt.
  • Die Fähigkeit, Objekte zu schattieren und die Schatten korrekt zu formen, welche für einen beliebigen Polar- und Azimut-Winkel von Sonnenlicht gegeben sind, wird durch den im folgenden definierten Schatten-Algorithmus ermöglicht.
  • Schattenerzeugungs-Algorithmus
  • FOR ALL (Voxel in der Datenbasis)
  • Initialisiere Weiterspring-Position beim Zentrum des Voxels bei Pegel 1
  • S10 = S1
  • S20 = S2
  • S30 = S3
  • Mache ersten Sprung:
  • Bemerkungen:
  • 1. F = Schattenfaktor (E.G. F = 0,02)
  • 2. Sprung-Schleife endet, wenn entweder
  • (a) der Strahl einen undurchsichtigen Voxel schneidet oder
  • (b) der Strahl die Oberseite der Datenbasis verläßt
  • 3. Voxel-Farbe bei (S10, S20, S30) ist:
  • (a) Schattiert im Fall 2(a),
  • (b) Unverändert im Fall 2(b).
  • Die Stärke der Volumenelement- oder Voxel-Näherung, die in Fig. 7 gezeigt ist, besteht in der Verwendung von realen Flächenphotographien, die mit digitalen Flächenhöhendaten gemischt werden, dem das Hochziehen von Objekten auf dem Terrain bis zu ihren geeigneten Z-Werten folgt. Die Schattenlängen L(S) des Objektes und der Sonnenwinkel A, welcher aus der geographischen Breite, der geographischen Länge, der Tageszeit und dem Tag im Jahr errechnet worden ist, werden verwendet, um den Z-Wert des Objektes durch
  • tan A = Z/L(S)
  • Z = L(S) * tan A.
  • zu errechnen.
  • Dieser abgeschätzte Z-Wert wird feinabgestimmt, indem ein berechneter Schatten zu dem realen Bild hinzugefügt wird und die Länge des errechneten Schattens mit dem des realen Schattens in dem Bild verglichen wird. Der Z-Wert wird dann korrigiert, um diese Schatten gleich lang zu machen.
  • Eine Liste der Vorteile und der Schlüsselmerkmale des dreidimensionalen sichtbaren Oberflächen-Algorithmuses wird im folgenden gegeben:
  • 1. Keine verdeckten Oberflächen werden verarbeitet; indessen wird der leere Raum zwischen dem Auge und der ersten undurchsichtigen Oberfläche entlang dem Strahl verarbeitet.
  • 2. Kein Suchlauf über die vollständige Datenbasis ist nötig.
  • 3. Es werden keine Daten verarbeitet, die sich außerhalb des Blickfeldes befinden, d. h., kein "culling" oder "clipping" ist nötig.
  • 4. Keine Realzeitabtastübertragung ist nötig, da der Algorithmus und die Datenstrukturen (die Pixel, die Strahlen, die Voxel) inhärent mit der Rasterabtastung kompatibel sind.
  • 5. Der Algorithmus ähnelt:
  • a. dem Auge, das ein reales Bild unter Verwendung einer realen Datenbasis sieht, oder dem Auge, das ein Bild auf einem Schirm sieht;
  • b. der geometrischen Optik und ihrer Verwendung der Strahlengangsbestimmung; und
  • c. Streuungs-, Emissions- und Monte Carlo- Simulationen.
  • 6. Der Algorithmus ist optimiert für:
  • a. große Datenbasen mit einem hohen Informationsinhalt;
  • b. viele verdeckte Oberflächen, welche entlang eines Strahles geschnitten werden; und
  • c. Tief- oder "nap-of-the-earth"-Flügen.
  • 7. Die Verarbeitungszeit hängt von den Auflösungen des Schirmes und der Datenbasis ab.
  • 8. Die Verarbeitungszeit ist unabhängig von der Komplexität der Datenbasis aufgrund der Anzahl der Objekte oder der Wiedergabe (rendering) der Objekte.
  • 9. Die Abtastdichte des Schirmes kann variieren, um einen Bereich von Interesse mit hoher Auflösung zu akkommodieren.
  • 10. Der Algorithmus kann leicht an einen nicht-planaren Schirm angepaßt werden.
  • Unter erneuter Bezugnahme auf Fig. 5 macht die Fig. 5 auch die hierarchische Auflösungs-Datenstruktur unter Verwendung von zwei Auflösungen deutlich. Der Zustand (undurchsichtig, transparent, halbtransparent) von Volumenelementen geringer Auflösung oder Voxeln wird unter Verwendung von zwei Bits gespeichert. Mehr Speicher um die Voxel-Daten hoher Auflösung zu speichern, wie die Farbe, wird nur benötigt, wenn der Zustand undurchsichtig oder halbtransparent ist. Auf die Voxel wird zufällig als ein dreidimensionales Array zugegriffen, wobei der (X, Y, Z)-Wert des Schrittvektors (S) entlang des Strahles verwendet wird. Beispielsweise ist S(1) = X in eine Vier-Pegel-Hierarchie zerlegbar, indem man X als eine Summe von Bit-Feldern ausdrückt:
  • wobei das Bit I der Binärdarstellung von X gleich X(I) ist und X(I, J) das Bit-Feld ist, das vom Bit I zum Bit J hinuntergeht, wo I.GT.J ist. Die drei Fälle, die hier gezeigt sind, weisen jeweils Voxel mit Auflösüngen von (1, 8, 64, 512), (1, 16, 256, 4096) und (1, 8, 128, 4096) auf. Eine Liste der Vorteile der hierarchischen Auflösungs- Datenstruktur folgt:
  • 1. Minimierung der Verarbeitungsanforderungen an das System:
  • 1.1 Minimierung der Anzahl der Schritte entlang eines Strahls;
  • 1.2 erlaubt Schritte von verschiedenen Auflösungen oder Längen; und
  • 1.3 versucht, Schritte geringer Auflösung im leeren Raum zu verwenden.
  • 2. Minimierung der Anforderungen an den Systemdatenspeicher:
  • 2.1 Ein Speicher zum Speichern von Positionsdaten wird nicht benötigt;
  • 2.2 die Positionsdaten sind in der Adresse des Voxels kodiert; und
  • 2.3 er versucht Daten auf leerem Raum in Voxeln geringer Auflösung zu speichern und nicht in Voxeln mit mittlerer oder hoher Auflösung.
  • 3. Erlaubt wahlfreien Zugriff auf Daten bei ihren Positionen bei verschiedenen Raumauflösungen.
  • 4. Erlaubt die Option der Kodierung der Datenbasis bei verschiedenen Auflösungen, beispielsweise einen Missionskorridor mit hoher Auflösung, welcher von einem Ozean, einer Wüste oder von Farmland mit geringer Auflösung umgeben wird.
  • 5. Erlaubt die Verwendung von Voxeln im halbtransparenten Zustand für Wolken, Rauch, Dunst oder andere atmosphärische Effekte.
  • 6. Akkommodiert den entfernungsabhängigen Detailpegel, indem Mittelwerte von Voxeln höherer Auflösung in einem Voxel mit der nächstgeringeren Auflösung gespeichert werden (wenn ein Entfernungs-Schwellwert überschritten wird, werden diese Mittelwerte geringer Auflösung verwendet, um den Suchlauf entlang eines Strahles zu beenden).
  • 7. Hilft bei der Implementierung des Speicher- Managements, indem die dreidimensionale (3D)- Position verwendet wird, um Seiten kenntlich zu machen.
  • 8. Überträgt einen separaten Satz von Parametern der Datenstruktur, der mit den Auflösungen von jedem Sensor konsistent sind.
  • Wenn sich das Auge oberhalb der Datenbasis befindet und der Strahl die Datenbasis schneidet, dann wird nur ein Schritt gemacht, bevor die Datenbasis betreten wird. Um die X, Y- Werte zu erhalten, bei denen der Strahl die Oberseite der Datenbasis bei ZMAX schneidet, ist es nötig, die Entfernung RNG des Schrittes S(I) entlang dem normalisierten Strahl Q(I) zu bestimmen, wo die neue Schritthöhe E(3) + RNG * Q(3) gleich ZMAX ist, oder:
  • Wenn der Strahl die Datenbasis verfehlt oder aus der Datenbasis aus tritt, ohne eine undurchsichtige Oberfläche geschnitten zu haben, dann bestimmt der Wert von Q (3), ob der Strahl oberhalb von (Q(3).GT.0) oder unterhalb (Q(3).LE.O) des Horizontes ist. Q(3).GT.0 meint Q(3) > 0, wobei GT = "größer als" und LE = "kleiner als oder gleich" in Fortran bedeutet. Wenn das obige gilt, dann kann das Pixel die Farbe des Himmels haben, die für die Größe von Q(3) geeignet ist, mit etwas Dunst entlang dem Horizont für kleine Q(3), der für ein großes Q(3) nach Blau übergeht. Wenn der Strahl sich unterhalb des Horizontes befindet, dann wird Modulo-Arithmetik verwendet, um eine Duplizierung der ursprünglichen Datenbasis über der (X, Y)-Ebene zu erzeugen. Das Weiterspringen entlang des Strahles wird durch die duplizierte Datenbasis fortgeführt, und zwar bis eine undurchsichtige Oberfläche erreicht wird oder S(3) größer wird als ZMAX.
  • Eine Entferungspuffer-Näherung wird verwendet, um die Bilder der statischen Datenbasis mit dynamischen Objekten zu kombinieren. Diese Näherung ähnelt dem populären Z-Puffer- Algorithmus. Die Entfernung zwischen dem Auge und dem ersten undurchsichtigen Voxel entlang eines Strahles wird verwendet, um zu bestimmen, welcher Voxel sich näher bei dem Betrachter befindet und angezeigt werden sollte. Die Entfernung kann berechnet werden, ohne daß die Quadratwurzel verwendet wird. Beispielsweise RNG = (S(1) - E(1))/Q(1).
  • Der dreidimensionale sichtbare Oberflächenanzeigen- Algorithmus bezieht sich auf die Datenbasis unter Verwendung von X(I), Y(J) und 2(K) und erlaubt eine allgemeine Verteilung der Volumenelemente oder Voxel bei diesen dreidimensionalen Gitterpunkten. Dies ist die Version des Anzeigen-Algorithmuses der höchsten Leistungsfähigkeit, aber sie bedingt auch die meiste Adressenerrechnung und den meisten Speicher.
  • Fig. 7 visualisiert die Vier-Voxel-Datenstruktur, die den vier Fällen des dreidimensionalen sichtbaren Oberflächenanzeigen-Algorithmuses entspricht, der in Tabelle II zusammengefaßt ist. In allen Fällen können die zweidimensionalen Oberflächen-Voxeldatenwerte (beispielsweise R = rot, G = Grün, B = Blau) mittels Flächenphotographien definiert werden. Fall 1 entspricht einem Bild-Array von Bildelementen oder Pixeln. Die Fälle 2, 3 und 4 benötigen Terrain-Höhendaten Z (X, Y), wohingegen Fall 1 keine Höhendaten aufweist. Tabelle II Vier Fälle des 3D Sichtbaren Oberflächen-Algorithmuses und Daten Mathematische Beschreibung Datenstruktur Array-Indices, welche verwendet werden, um die Aufnahmeadresse auszurechnen Aufnahmefelder Verarbeitung des Algorithmuses Einwertige 2D Oberfläche bei Z(X,Y)=0 Einwertige diskontinuierliche 2D Oberfläche bei Z(X,Y) Einwertige diskontinuierliche 2D Oberfläche bei Z(X,Y) plus Mehrvoxeln (bzw. 2 bis 5) oberhalb Z(X,Y) Version 3 mit einer potentiell großen Mehrzahl (bzw. 6 oder größer) von Voxeln oberhalb Z(X,Y) 2D Array von Aufnahmen 3D Array von Aufnahmen Einzelner Schritt entlang vom Auge bis Z(X,Y)=0 Schritt entlang Strahl vom Auge bis S(3).LE.Z Schritt entlang Strahl vom Auge bis ST.EQ. undurchsichtig R,G,B = Rot, Grün, Blau ST = Zustand des Voxels = transparent, halbtransparent, undurchsichtig, gefüllt (für Konkavitäten) S(3) = Z-Komponente des Schritt-Vektors
  • Die Strahlengangsbestimmung im Fall 1 verlangt nur einen Schritt bis Z(X, Y) = 0 und eine Errechnung, wo der Strahl die (X, Y)-Ebene schneidet. Dieser Rechenvorgang ist mit dem früher diskutierten identisch, bei dem ein Strahl die Oberseite der Datenbasis bei ZMAX schneidet, wobei jetzt nur ZMAX = 0 ist. In den Fällen 2 und 3 wird eine Mehrzahl von Schritten benötigt. Bei jeder Schrittposition S(1), wobei I = 1, 2 und 3 ist und X, Y und Z entspricht, werden die S(1) und S(2)-Werte verwendet, um auf die Daten Bezug zu nehmen, und S(3) wird mit dem Z-Wert verglichen, der bei der (X, Y)- Adresse gespeichert ist. Im Fall 2 endet das Weiterspringen, wenn S(3) kleiner oder gleich Z ist, und in dem Fall 3 endet das Weiterspringen, wenn diese Bedingung wahr ist oder wenn S(3) = Z1 oder Z2 ist. In beiden Fällen 2 und 3 kann eine Hierarchie von Auflösungen verwendet werden, um die Anzahl der Schritte entlang eines Strahles zu minimieren.
  • Beispielsweise wird, wenn 1-, 10- und 100 Fuß-Auflösungen verwendet werden, der maximale Wert Z dann auf einem 10-Fuß- Netz bei seinen 1-Fuß-Orten gespeichert; und auf einem 100- Fuß-Netz wird der maximale Wert von Z bei seinen 10-Fuß- Orten gespeichert. Das Weiterspringen beginnt dann erneut bei niedriger Auflösung, wenn S(3) sich oberhalb des Wertes niedriger Auflösung von Z befindet. Das Weiterspringen zu der nächsten höheren Auflösung findet nur statt, wenn S(3) kleiner oder gleich dem Wert geringer Auflösung von Z ist.
  • Im Fall 2 wird die Flächenphotographie zu den Höhendaten Z(X, Y) registriert, was zu einer weichen kontinuierlichen Abbildung auf die Konturen des realen Terrains führt. Zusätzlich werden, wenn Objekte wie Gebäude, zylindrische Speichertanks oder konische (Hadel)bäume erkannt werden, diese als Diskontinuitäten auf diese weiche Z(X, Y)- Oberfläche aufgewachsen. Dieses Aufwachsen von Objekten ist in dem Fall 2 in Fig. 7 dargestellt. Die Modellierungseinschränkung für den Fall 2 liegt darin, daß Objekte immer undurchsichtig sind und daß keine Farbwechsel in der Z-Richtung über einem (X, Y)-Punkt auftreten. Innerhalb dieser Einschränkung wird jede der vier Wände und die Oberseite des Gebäudes in der gleichen Farbe verschieden schattiert, um den richtigen Sonnenwinkel und die Oberflächenreflektivität darzustellen. Der Fall 3 erlaubt die vertikale Verteilung von undurchsichtigen Voxeln, um Objekte wie Bäume, Büsche oder Telefonleitungen zu konstruieren, die transparente Löcher in der vertikalen Richtung aufweisen.
  • Der Speicher, der für diese Fälle benötigt wird, der verschiedene Spielbereiche und Gitterauflösungen verwendet, wird im folgenden diskutiert. Tabelle III zeigt die Anzahl der Gitterpunkte für verschiedene Spielbereichsgrößen und drei verschiedene Gitterauflösungen. Die Bytes pro Voxel und die Gitterpunkte, die jede Datenstruktur benötigt, sind in der Tabelle IV aufgeführt, in der ein Byte von Farbdaten angenommen ist (beispielsweise Rot = 3, Grün = 2, Blau = 3) und Z-Werte als ganzzahlige Zwei-Bit-Zahlen gespeichert sind (beispielsweise Z = 0, 1, ..., 65535). Im Fall 3 ist angenommen, daß zwei Voxel oberhalb des dritten bei der Z(X, Y)-Oberfläche ausreichend sind, um Bäume und Büsche zu modellieren. Wenn die Anzahl der Gitterpunkte in einem Spielbereich mit der Anzahl der Bytes Pro Gitterpunkt für eine bestimmte Datenstruktur multipliziert wird, dann wird die Größe des benötigten Speichers in Megabyte gefunden. Daher werden die benötigten Speicher für die drei Spielbereiche und ihre entsprechenden Gitterauflösungen gleich 140, 420 und 1260 Megabyte (MB), wenn jeweils die Datenstrukturen der Fälle 1, 2 und 3 verwendet werden. Tabelle III Gitterpunkte für verschiedene Spielbereichsgrößen und verschiedene Gitterauflösungen Spielbereich (mi²) (X,Y) Gitter Auflösung (ft) Anzahl der Gitterpunkte per mi² Anzahl der Gitterpunkt im Bereich Tabelle IV Bytes pro Voxel, die für jeden Datenstrukturfall benötigt werden Datenstrukturfall Anzahl der Voxel bei Gitterpunkt Anzahl der variablen Z-Werte Anzahl der Bytes pro Farbe Z-Wert Voxel Gitterpunkt
  • Ein alternatives Verfahren zum Herstellen der Datenbasis liegt in der Verwendung einer geschachtelten Hierarchie von Auflösungen. Ein interessierender 1 x 5 Quadratmeilen- Bereich wird bei einer hohen Auflösung (1 Fuß) modelliert, um Tiefflug zu unterstützen. Dieser Bereich hoher Auflösung wird in einem 10 x 50 Quadratmeilen-Bereich bei mittleren Auflösung (10 Fuß) eingefügt, und der 10 x 50 Quadratmeilen- Bereich wird in einen 100 x 500 Quadratmeilen-Bereich geringer Auflösung (100 Fuß) eingebettet. Die Datenbasis geringer Auflösung unterstützt hohe Luft-zu-Luft- Trainingsmissionen und die Datenbasis mit hoher Auflösung unterstützt tiefere Luft-zu-Boden Missionen. Die Daten mittlerer Auflösung erlauben einen weichen Übergang in der Höhe. Der Speicher, der für diese 100 x 500 Datenbasis variable Auflösung benötigt wird, beträgt 3 x 420 oder 1260 Megabyte (MB), wenn die Datenstruktur des Falles 2 verwendet wird.
  • Dynamische Objekte werden als Variationen des Falles 3 modelliert, wobei mehrwertige zweidimensionale Oberflächen verwendet werden, die gewöhnlich kontinuierlich sind. Beispielsweise sind der Flugzeugrumpf und die Tragfläche eines Flugzeuges in Z doppelwertig, wie auch allgemeine Oberflächen, wie Ellipsoiden und Sphären.
  • Die Verwendung von variablen Auflösungen in der Datenbasis erlaubt das adaptive Abtasten entlang eines Strahles, wobei das Abtasten unter Verwendung von groben Schritten entlang des leeren Raumes stattfindet und das Abtasten unter Verwendung von feinen Schritten nahe undurchsichtigen Oberflächen auftritt.
  • Ein Vorteil kann aus der Verwendung einer Bit-parallelen Arithmetik unter Verwendung des Falles 4 des Algorithmuses gezogen werden. Beispielsweise werden, wenn das Volumenelement oder der Voxel-Zustand binär ist (transparent = 0, undurchsichtig = 1) und 3 x 3 x 3 = 27 Voxel-Zustände in einem 32-Bit-Wort gepackt werden, Schritte dann in Einheiten von 3 Voxeln unternommen, bevor man in Einheiten von einem Voxel weiterschreitet. Wenn das ganzzahlige Wort Null ist, dann ist das 3 x 3 x 3 Voxel transparent und ein anderer 3-Einheiten-Schritt wird unternommen. Wenn nun das ganzzahlige Wort von Null verschieden ist, dann müssen Einheitsschritte entlang dem Strahl unternommen werden und die geeigneten Bits müssen getestet werden. Wenn sich das Wort schon in einem Register befindet, kann der volle Vorteil des Speichers mit der höchsten Geschwindigkeit ausgenutzt werden.
  • Die Bildabbildung
  • Eine neuartige Stärke eines Strahlengangbestimmungs- Algorithmuses im Vergleich mit einem Polygon-Algorithmus liegt in der Leichtigkeit der Lösung des Bildabbildungsproblems. Dieses Problem bringt die Abbildung einer ebenen Quellenbildoberfläche, deren Koordinaten (u, v) sind, auf eine nicht ebene Anzeigenoberfläche durch ein Linsensystem mit sich. Pixel auf dieser Quellenoberfläche, der wie ein einzelner Rahmen eines Spielfilmes ist, strahlen Licht durch das Linsensystem. Das Linsensystem projiziert und fokussiert dann das Quellenpixel auf einen neuartigen Pixel auf der nicht ebenen Oberfläche (beispielsweise auf einen sphärischen Schirm). Wenn die (u, v)-Pixel der Quellenoberfläche durch (K, L) indiziert werden, dann werden sie auf einen neuen Satz von Schirm-Pixelkoordinaten X(K, L), Y(K, L) und Z(K, L) abgebildet. Diese Abbildung wird durch die Optiken des Linsensystemes bestimmt.
  • Um den Algorithmus zu modifizieren, so daß er dieses Abbilden akkommodiert, werden alle der X-, Y- und Z-Schirm- Pixel, welche durch K und L indiziert sind, in ihre entsprechenden Strahlenvektoren R(I) gedreht:
  • R(I) = RM(I,1) * X(K,L) + RM(I,2) * Y(K,L) + RM(I,3) * Z(K,L),
  • wobei RM die Drehmatrix ist. Die Werte von X(K, L), Y(K, L) und Z(K, L) können einmal in einem Vorverarbeitungsmode errechnet werden und in einem Speicher als Tabelle gespeichert werden. Diese "Nicht-Ebene-Schirm-Version" des Algorithmuses verlangt eine Drehtransformation für jeden Schirmprobenpunkt, wohingegen die "Ebene-Schirm-Version" des Algorithmuses eine Drehung von nur den drei Ecken des Schirmes verlangt, der eine Linearkombination der U- und V- Schirmvektoren folgt.
  • Optimierungen unter Verwendung von Bild- und Datenbasisentfernungskohärenzen
  • Wenn die Datenwerte Kohärenzen aufweisen, dann sind sie korreliert und wahrscheinlich in ihrem Wert dicht beieinander. Die Bildkohärenz ist die zweidimensionale Eigenschaft des Bildes, gemäß der zwei Pixel, welche in Bezug auf ihre Position dicht zueinander sind, auch in ihrem Wert dicht zueinander sind. Die Datenbasisentfernungskohärenz ist die dreidimensionale Eigenschaft, daß zwei Strahlen, welche in ihrer Position dicht zueinander sind, Entfernungen von dem Auge zu ihrem ersten undurchsichtigen Voxel aufweisen, die bezüglich ihres Wertes dicht zueinander sind. Die Optimierung für ein Realzeitsystem verlangt, daß die für die Optimierung verwendete Eigenschaft in allen Bildern erscheint. Da die Bildkohärenz vorwiegend in Bildern von von Menschenhand hergestellten Objekten bei kurzen Entfernungen mit großen homogenen Bildbereichen auftaucht und die Bildkohärenz abnimmt, wenn die Entfernung zunimmt, so daß mehrere Objekte auf nur wenige Pixel projiziert werden, ist die Bildkohärenz für die Optimierung eines Realzeitsystems nicht geeignet; wohingegen die Entfernungskohärenz in allen Bildern auftritt.
  • Die Entfernungskohärenz hängt von den Querneigungs-, den Längsneigungs- und den Scherungswinkeln ab. Diese Rotationswinkel, die die Lage bestimmen, sind in der Beschreibung definiert, die sich auf Fig. 6 bezieht. Wenn die Querneigung Null ist, so daß die obere Seite und die untere Seite des Schirmes parallel zum Horizont sind, dann ist die Entfernung eine beinahe monoton ansteigende Funktion, wenn der Strahl den Schirm von der Unterseite zu der Oberseite einer vertikalen Abtastlinie durchquert. Die Ausnahme tritt ein, wenn Z(X, Y) sich für Objekte auf dem Terrain erhöht und die Längsneigung nach unten ist. Je mehr Z(X, Y) eine sich schrittweise ändernde konvexe Oberfläche ist, desto mehr tendiert die Entfernung dazu, sich monoton zu steigern. Mit einem nach unten gerichteten Längsneigungswinkel bei der Kante von vertikalen Objekten wie Gebäuden wird die Entfernung ansteigen und dann abnehmen, und zwar infolge des perspektivischen Effektes, gemäß dem die Oberseite des Gebäudes, die dem Auge näher ist, weiter erscheint als die Unterseite des Gebäudes. Dieses Problem wird gelöst, indem eine konvexe Oberfläche addiert wird, um in die Konkavitäten bei der Kante von vertikalen Seiten von Objekten gefüllt zu werden, d. h., Fall 2 plus einer konkaven Fülloberfläche. Darüberhinaus werden bei dem genaueren Weiterspringen entlang eines Strahles, d. h. bei dem Weiterspringen entlang ganzzahligen Voxel-Begrenzungen, gezahnte Linien infolge des Alias- Effektes, der durch das ungenaue Weiterspringen entlang eines Strahles durch bloße Inkrementierung der Entfernung bedingt ist, vermindert.
  • Die Verwendung der Entfernungskohärenz entlang einer vertikalen Abtastlinie führt zu einer großen Verminderung der Verarbeitungs- und Speicherzugriffe, verglichen mit dem Fall, bei dem man entlang jedes Strahles vom Auge startend weiterspringt. Anstelle der Zerlegung des Bildes in vertikale Abtastlinien für die Entfernungskohärenz kann das Bild auch in ein Netz von quadratischen Subbildern zerlegt werden. Ein quadratisches Subbild kann in eine Sequenz von konzentrischen quadratischen Kreisringen zerlegt werden, die ein Pixel breit sind, die zu dem Pixel im Zentrum des Subbildes hin konvergiert. Wenn die Subbild-Pixel verarbeitet werden, indem der vom Auge äußerste Kreisring strahlengangbestimmt wird, und dann jeder quadratische Kreisring beginnend vom äußersten Kreisring dies Subbildes bis hin zu seinem Zentrum verarbeitet wird, dann kann jeder innere Kreisring den Minimalwert von RNG_64 verwenden, der von den Strahlen in dem benachbarten äußeren Kreisring erhalten worden ist, wobei RNG_64 die Entfernung ist, bei der ein Strahl seinen ersten undurchsichtigen Voxel grober Auflösung (64 Einheiten) schneidet. Diese Näherung ist allgemeiner als die vertikale Abtast-Linien-Näherung und arbeitet für alle Werte der Querneigung, Längsneigung und Scherung; indessen nutzt sie die Vorteile der Entfernungskohärenz weniger aus.
  • Bei der vertikalen Abtast-Linien-Häherung wird ein überdimensioniertes Bild zunächst unter Verwendung der korrekten Werte von EX, EY, EZ, der Längsneigung und der Scherung errechnet. Dieses Bild wird dann um den Querneigungswinkel gedreht, um das korrekte Bild zu erzeugen. Die einzigen Pixel in dem überdimensionierten Bild, die errechnet werden müssen, ist der Sub-Satz, der tatsächlich in dem gedrehten Bild verwendet wird.
  • Die unendliche Ausdehnung der Datenbasis unter Verwendung der Modulo-Arithmetik
  • Die Modulo-Arithmetik wird verwendet, um die synthetische und Flächenphotographie-Datenbasis unbestimmt zu wiederholen, indem größere virtuelle (X, Y)-Adressen in die physikalische Entfernung konvertiert werden, beispielsweise wird (722, 515) = (210, 3), wenn die Größe der Datenbasis 512 x 512 beträgt. Dies erlaubt es dem Algorithmus mit einer unendlichen Datenbasis hoher Dichte verwendet zu werden, welche beispielsweise für die Simulation eines Kampfflugzeuges zu gebrauchen ist, das bei einer geringen Höhe, sagen wir 200 Fuß, mit einem flachen nach unten gerichteten Blickwinkel fliegt.
  • Die Modellierung der Datenbasis
  • Das in Fig. 3 gezeigte Datenbasismodellierungs- und Analysesystem (DBMAS) besteht aus mehreren Datenbasen und der Hardware und der Software, die gebraucht wird, um sie zu manipulieren. Die DatenbasisManagementsystem(DBMS)-Software erzeugt, modifizert und transformiert diese Datenbasen. Der Anzeigen-Algorithmus verlangt eine Datenbasis, die von den Volumenelementen (Voxeln) abhängt, im Gegensatz zu Kanten und Polygonen. Dieser Voxel-Anzeigen-Algorithmus führt zu einer einfacheren Transformation von einer vernetzten "Defense Mapping Agency"-Höhendatenbasis zu einer Simulationsdatenbasis, da die Simulationsdatenbasis auch vernetzt ist. Diese Voxel-(vernetzte)-Datenbasis wird verwendet, um die natürlichen Terrain- und von Menschen hergestellten Strukturen zu beschreiben und wird erzeugt, indem die Flächenphotographie in ein sehr feines Netz digitalisiert wird. Dieses Netz wird dann mit den entsprechenden digitalen Terrain-Höhendaten überlagert. Es gibt zwei Gründe für die Verwendung einer Voxel-Typ- Datenbasis: (1) Die Hardware-Effizienz wird verbessert, wenn der Speicher derartig organisiert (hochverschachtelt) werden kann, daß das Abtastverfahren auf den Speicher mit minimaler Konkurrenzsituation zugreifen kann; und (2) die natürliche Terrain-Texturierung wird ,verbessert, wenn die Daten aus einer Flächenphotographie hervorgegangen sind; die Details der Terrain-Texturierung sind eingebaut. Bei jedem Ort (X, Y) enthält die Voxel-Datenbasis die Farb-(oder Helligkeits-)Information und den Höhenwert bei diesem Ort.
  • Bei der Initialisierung dieser realzeit-computerbilderzeugten (CIG) Datenstruktur aus einer Nichtrealzeit- Simulationsdatenbasis werden Voxel-Daten in einer Hierarchie von Auflösungen erzeugt und gespeichert, beispielsweise 1, 10 und 100. Das Computerbild-Erzeugungssystem kann dann die Daten bei der Auflösung verarbeiten, die für die Entfernung zwischen dem Betrachter und dem zu betrachtenden Objekt angemessen ist. Bei der Auflösung von 10 Einheiten wird der Mittelwert der Auflösungsdaten für eine Einheit gespeichert und bei der Auflösung von 100 Einheiten wird der Mittelwert der Daten für die 10-Einheiten-Auflösung gespeichert. Diese Mittelung von Voxeln, um den entfernungsabhängigen Detailpegel zu berücksichtigen, kann automatisch durchgeführt werden, im Gegensatz zu den menschlichen Entscheidungen im Hinblick auf den Detailpegel, der bei einer Polygon-Datenbasis verlangt wird. Wenn Daten einer hohen Auflösung nur in einem Korridor durch die Datenbasis verlangt werden, dann erzeugt das Datenbasis- Managementsystem (DBMS) eine Nichtrealzeit- Simulationsdatenbasis bei grober Auflösung außerhalb dieses Korridors und eine hohe Auflösung innerhalb des Korridors, um diese entfernungsabhängige variable Auflösungsverarbeitung zu unterstützen. Die menügetriebenen Datenbasis-Management-Softwaremodule werden im folgenden vorgestellt. Datenbasis-Management-Softwaremodule 1. HILFE-MODULE, DIE INFORMATIONEN ENTHALTEN, UM DEN NEUEN BENUTZER ZU HELFEN, EINSCHLIESSLICH ALLGEMEINER SYSTEMINFORMATION. SIE WERDEN IN EINER HIERARCHISCHEN STRUKTUR GESPEICHERT.
  • 2. DATENBASISSTATIONSAUFFORDERUNG
  • 2.1 VERFÜGBARER PLATTENSPEICHER
  • 2.2 FILE-INFORMATION-BEI VERSCHIEDENEN DETAILPEGELN
  • 2.3 LISTE DER GESPEICHERTEN GEOMETRISCHEN DATENBASEN
  • 2.3.1 TERRAIN
  • 2.3.2 OBJEKTE
  • 2.4 LISTE DER GESPEICHERTEN SIMULATIONSDATENBASEN
  • 2.5 LISTE DER GESPEICHERTEN HILFSDATENBASEN
  • 2.5.1 DIGITALDATEN UND ONLINE- ODER OFFLINE- ORT
  • 2.5.2. ANALOGDATEN UND IHRE ORTE (BEISPIELWEISE RAUM 23)
  • 3. TRANSFORMATION DER DATENBASEN
  • 3.1. GEOMETRISCH ZU GEOMETRISCH
  • 3.1.1 INTERPOLATIONEN
  • 3.1.1.1 LINEAR
  • 3.1.1.2 NICHT-LINEAR, POLYNOMIAL, BIKUBISCH, QUADRATISCH, SPLINE, FOURIER-REIHEN
  • 3.1.1.3 ZUFÄLLIG-BEISPIELSWEISE 3D FRAKTALE
  • 3.1.1.4 EXTRAKTION DER SUBSÄTZE
  • 3.1.3 MISCHUNG DER SUBSÄTZE
  • 3.1.4 ÜBERPRÜFUNG DER KONTINUITÄT (INTEGRITÄT, KONSISTENZ, BESTÄNDIGKEIT)
  • 3.2 ADDITION DER SENSORDATEN
  • 3.2.1 ADDITION DER FARBE (ROT, GRÜN, BLAU) FÜR DAS SICHTBARE
  • 3.2.2 ADDITION DER OBERFLÄCHENNORMALE FÜR DAS SICHTBARE UND DAS RADAR
  • 3.2.3 ADDITION DER RADARREFLEKTIVITÄT (WINKELABHÄNGIGKEIT)
  • 3.2.4 ADDITION DES IR-EMISSIONSVERMÖGENS
  • 3.2.5 ADDITION DER LLTV-INTENSITÄT
  • 3.3 NICHTREALZEIT-SIMULATION ZU REALZEIT-SIMULATION
  • 4. DIGITALISIERUNG
  • 4.1 LINIENZEICHNUNGEN
  • 4.1.1 2D
  • 4.1.2 3D
  • 4.2 3D-MODELLE
  • 4.3 BILDER
  • 5. OBJEKTERZEUGUNG
  • 5.1 OBERFLÄCHE DER UMDREHUNG
  • 5.2 MISCHEN VON MERKMALEN UND KOMPONENTEN
  • 6. OBJEKTMANIPULATION - VERSCHIEBUNG, DREHUNG, SKALIERUNG, EINGANGSFORMPARAMETER (GRENZPUNKTE, SCHATTENLÄNGE, HÖHE)
  • 7. SONNENMODELL - BELEUCHTUNG, SCHATTIERUNG, SCHATTEN, TEMPERATUR
  • 8. FARBPALETTE-ZUR AUSWAHL UND ANPASSUNG DER FARBEN
  • 9. TEXTUR
  • 9.1 GLEICHMÄSSIG-SCHACHBRETT
  • 9.2 ZUFÄLLIG-GROSSES SCHACHBRETT, KLEINE TUPFUNG, WELLEN
  • 9.3 2D-FRAKTALE
  • 10. ATMOSPHÄRE UND WETTER
  • 10.1 WOLKEN, NEBEL, DUNST, SMOG, STAUB, RAUCH
  • 10.2 ABLAGERUNGEN IN DER LUFT
  • 10.3 ABLAGERUNGEN AUF OBERFLÄCHEN - REGEN, SCHNEE, EIS
  • 11. HILFSBILD (SICHTBAR, SAR, IR)-DATEN
  • 11.1 REGISTRIERE ZU TERRAIN-DATENBASIS
  • 11.2 2D- BIS 3D-ABBILDUNG AUF TERRAIN-DATENBASIS
  • 12. TRAJEKTORIENBESTIMMUNG UM TRAININGSAUFGABEN UND SZENARIEN ZU PLANEN
  • 12.1 ZIEL UND GEFÄHRDUNGSTRAJEKTORIEN, BETRACHTET VON EINER FESTEN POSITION UND LAGE IN DER DATENBASIS
  • 12.2 EIGENE TRAJEKTORIEN, BETRACHTET VON SICH SELBST BEI DER BEWEGUNG DURCH DIE DATENBASIS
  • 12.3 DAS GLEICHE WIE 12.2, ABER UNTER GLEICHZEITIGER BETRACHTUNG VON 12.1
  • 12.4 GOTTESAUGEN (GOD'S EYE)-BETRACHTUNG (ORTHOGRAPHISCH) VON ALLEM OBIGEN AUS EINER AUSREICHEND GROSSEN ENTFERNUNG UND LAGE, SO DASS DER GESAMTE SPIELBEREICH ODER EIN GEWÜNSCHTER TEIL DES BEREICHES BETRACHTET WIRD.
  • Das Ziel des Software-Designs war die Erleichterung der Erzeugung von korrelierten visuellen- und Sensor-Datenbasen durch nicht technisches Personal. Der Anwender dieses Subsystemes braucht keine Programmiersprache zu kennen. Nach dem Einstieg in das System wechselwirkt der Anwender mit dem Menü, das auf einer CRT dargestellt und in Englisch geschrieben ist. Jedes angezeigte Menü weist als ersten wählbaren Punkt HILFE auf. Wenn HILFE ausgewählt wird, wird Information in einem gewissen Umfang über das Menü angezeigt.
  • Die meisten der Module sind selbsterklärend und einige hängen voneinander ab. Beispielsweise könnte ein Anwender bei der Transformation einer geometrischen Datenbasis zu einer visuellen Simulationsdatenbasis auch das Farbpaletten- Modul verwenden, vgl. das obige Modul (8). Um realistisch Farben zu dem Terrain oder zu einem Objekt auf dem Terrain zu addieren, ,wird der Anwender die Liste des Hilfs- Analogdaten-Moduls (2.5.2) für die Arealphotographie abfragen.
  • Diese Computerbilderzeugungs-Näherung erlaubt die Addition von Solarmodell- oder Tageszeit-(Modul 7)-Information zu der Datenbasis in einem Vorverarbeitungszustand. Diese Information umfaßt die Richtung der Beleuchtung, die Schattierung von Oberflächen, die Schatten von statischen Objekten und die Temperatur, um die IR-Intensität zu treiben. Atmosphärische und Wettereffekte können zu einer gegebenen Datenbasis unter der Verwendung der Module 10.1-3 addiert werden.
  • Ein Hauptmerkmal der gesamten Digitalnäherung im Hinblick auf die Datenbasiserzeugung ist die Aufrechterhaltung von korrelierten Simulations-Datenbasen. Wenn die Anwendung die Erzeugung von visuellen, IR- und LLLTV-Datenbasen verlangt, dann werden sie alle aus der gleichen geometrischen Datenbasis erzeugt. Das Addieren oder das Fortnehmen eines Objektes findet in der geometrischen Datenbasis statt und breitet sich dann durch die simulierten Datenbasen aus.
  • Die Hardware, um die Nichtrealzeit DMBAS zu implementieren, weist die gleiche Architektur auf, wie die in Fig. 4 gezeigte Realzeit-Hardware, hingegen kann sie langsamere und/oder weniger Hardware-Komponenten verwenden. Die Subbild-Prozessoren sind aus im Handel erhältlichen Multiprozessoren, wie dem Alliant, zusammengesetzt und ein Netzwerk von diesen Multiprozessoren, welche durch Ethernet verbunden sind, werden verwendet, um die Systemgröße auf die Systemdurchsatzanforderung abzustimmen. Diese Multiprozessoren fungieren auch als Eingabeeinheiten oder Ausgabeinheiten und unterstützen gleichfalls die oben diskutierte Datenbasiserzeugungs-Software sowie die Simulations-Software.
  • Die synthetische Datenbasen-Modellierung
  • Die synthetische Datenbasis sorgt für die Fähigkeit, um flache lineare Oberflächen zu modellieren, genau wie gekrümmte nicht lineare Oberflächen, wie beispielsweise kreisförmige Seen und zylindrische Speichertanks. In dem Fall eines Speichertanks wird eine weiche Schattierung verwendet, und der Fall 2 des Algorithmuses wird benutzt. Bäume werden unter Verwendung von Kegelscheiben mit Zufallsvariationen von sowohl Z als auch der Schattierung in den Ringen der Voxels modelliert, die die Kegelscheibe bilden.
  • Die Areal-Photographie-Datenbasis-Modellierung
  • Eine interaktive Datenbasis-Management-Software sorgt für die Ablaufverfolgung auf dem digitalisierten Photo von Polygon-Grenzen von Objekten (wie Gebäuden). Ein konstanter Z-Wert wird dann auf das Polygon übertragen, wenn das Objekt ein flaches horizontales Dach aufweist. Der Z-Wert wird unter Ausnutzung der Länge des Objektschattens abgeschätzt.
  • Der Einfluß des Speicher-Managements und der Organisation auf die Systemarchitektur
  • Die System-Design-Zielvorstellungen für das Speicher- Management und die Organisation sind:
  • 1. Strukturiere die visuelle- und Sensor-Simulations- Software um:
  • a. die Anfragen an den globalen Speicher (GM) zu minimieren;
  • b. den Ort der globalen Speicherreferenzen zu maximieren, so daß die Speicherreferenzen von verschiedenen Prozessen entkoppelt werden.
  • 2. Erfülle die Prozessor-zu-globalen Speicher- Bandbreiteanforderungen der Simulations-Software.
  • 3. Minimiere die Zwischenverbindungs-Netzwerk-Hardware zwischen den Prozessoren und dem globalen Speicher in sowohl der Anzahl als auch der Breite der Datenpfade.
  • Wie weiter oben bereits diskutiert worden ist, wird die dreidimensionale Entfernungskohärenz verwendet, um sowohl Verarbeitungs- als auch globale Speicher-(GM)-Anfragen während des Weiterspringens entlang eines Strahles zu minimieren. Die Errechnung des Bildes wird in parallele Rechenprozesse (Tasks) zerlegt, um entweder vertikale oder quadratische Subbilder zu errechnen, wobei die vertikale Subbildverarbeitung die serielle Verarbeitung vom unteren Rand bis zum oberen Rand des Bildes in einer vertikalen Abtastlinie mit sich bringt. Da die Daten durch ihren (X, Y, Z)-Ort bezeichnet werden, sind die Daten, auf die in dem Blickfeld eines Subbildes zugegriffen wird, im allgemeinen von den Daten verschieden, auf die in einem anderen Subbildblickfeld zugegriffen wird. Die Simulations-Software erfüllt daher den ersten Satz von den Design- Zielvorstellungen.
  • Zwei Speicher-Management-Lösungen sind erwogen worden, um die letzten zwei Ziele zu erfüllen.
  • 1. Ein statisches Speicher-Management initialisiert den globalen Speicher mit der vollen Datenbasis von der Platte vor der Bildverarbeitung, und zwar mit keiner Realzeitaktualisierung.
  • 2. Ein dynamisches Speicher-Management initialisiert den globalen Speicher mit einem Subsatz der Datenbasis in dem Blickfeld des ersten Rahmens und aktualisiert den globalen Speicher von rotierenden Platten während des gegenwärtigen Rahmens mit dem Datenbasis-Subsatz des nächsten Rahmens, wenn er sich von der gegenwärtigen Datenbasis des Rahmens unterscheidet.
  • Die schwierigen Beschränkungen, denen man sich in dieser Analyse gegenübersieht, sind die Realzeit- Leistungsfähigkeitsanforderung und die Leistungsfähigkeitsanforderungen an die Halbleiter- und die rotierenden Plattenspeicher-Hardware. Der Vorteil der ersten Lösung liegt in ihrer Unabhängigkeit von der Plattentechnologie. Der Nachteil liegt darin, daß die Kosten für den Halbleiterspeicher des Systems proportional zu der Größe der vollen Datenbasis sind (beispielsweise 200 x 200 sq n mi), im Gegensatz zu der Größe des Subsatzes der Datenbasis (beispielsweise 5 x 20 sq n mi), welche benötigt wird, um den gegenwärtigen Bildrahmen auszurechnen.
  • Zwei Organisationen des globalen Speichers, die mit beiden der oben diskutierten Speicher-Management-Lösungen verwendet werden können, werden im folgenden verglichen. Sie unterscheiden sich darin, daß die Datenverarbeitungsfunktion direkt auf den globalen Speicher für Datenpakete zugreift, wenn die Software sie benötigt, oder ob die Datenverarbeitungs funktion auf Pakete nur aus einem lokalen Speicher zugreift, der in Seiten zerlegt ist, die zuvor von dem globalen Speicher eingebracht worden sind.
  • Organisationen des globalen Speichers (GM) Paketzugriff
  • 1. Die Paketgröße wird durch den individuellen Software- Zugriff des Voxel-Zustandes von der Datenbasis und der Adressenraumgröße (beispielsweise 5 Bytes) bestimmt.
  • 2. Pakete werden über die globalen physikalischen Speichereinheiten (GPMU) verschachtelt, um den Zugriff- Konkurrenzbetrieb zu minimieren, aber ein einzelnes Paket wird in einer einzelnen globalen, physikalischen Speichereinheit (GPMU) gespeichert.
  • 3. Pakete werden aus der globalen physikalischen Speichereinheit (GPMU) von Prozessoren in einem einzelnen Rahmen entnommen, um ein Bild zu erzeugen.
  • 4. Nur auf die von einem Prozessor benötigten Pakete wird zugegriffen.
  • 5. Ein doppelter Seitenspeicher in dem lokalen Speicher (LM) wird nicht benötigt.
  • 6. Hohe Frequenz der Prozessor-Zugriffsanfragen an die globale physikalische Speichereinheit (GPMU) für kleine Paketübertragungen.
  • 7. Begrenzt durch die Geschwindigkeit der Speicher-Chips.
  • 8. Die Übertragung von Seiten von der Scheibe zu der globalen physikalischen Speichereinheit (GPMU) verlangt das Zwischenverbindungsnetzwerk (ICN), um die verschachtelten Pakete in einer Seite zu verteilen.
  • 9. Das Prozessor-Design muß das Problem der Wartezeit der globalen, physikalischen Speichereinheit (GPMU) lösen, auf die zugegriffen wurde.
  • 10. Das Zwischenverbindungsnetzwerk (ICN) unterstützt das Verarbeitungs - und das dynamische Speicher-Management unter Veendung von entweder einer überlappenden oder einer "time sliced" Näherung.
  • Seitenzugriff
  • 1. Die Seitengröße wird bestimmt durch die Anzahl der (X, Y)-Netzelemente in der Datenbasis, die einer Seite entsprechen (beispielsweise 40.000 Voxel).
  • 2. Die Seiten sind über die globalen physikalischen Speichereinheiten (GPMU) verschachtelt, um den Zugriff- Konkurrenzbetrieb zu minimieren, aber eine einzelne Seite ist in einer einzelnen globalen, physikalischen Speichereinheit (GPMU) gespeichert.
  • 3. Das Übersenden von Seiten von der globalen physikalischen Speichereinheit (GPMU) zu dem Prozessor für den nächsten Rahmen ist mit Prozessoren überlappt, die auf Pakete aus dem lokalen Speicher (LM) für einen gegenwärtigen Rahmen zugreifen.
  • 4. Die Seiten in dem lokalen Speicher (LM) enthalten einige nicht gebrauchte Daten.
  • 5. Benötigt doppelten Seitenspeicher in dem lokalen Speicher (LM), um Seiten für den gegenwärtigen und den nächsten Rahmen zu speichern.
  • 6. Niedrige Frequenz der Prozessoren-Zugriffsanfragen an die globale physikalische Speichereinheit (GPMU) für große Block(Seiten)-Übertragung.
  • 7. Die effektive Zugriffsgeschwindigkeit kann höher sein als die Geschwindigkeit der Speicher-Chips, infolge der Verschachtelung von Seiten auf eine einzelne globale, physikalische Speichereinheit (GPMU).
  • 8. Die Seiten können direkt zu der globalen physikalischen Speichereinheit (GPMU) übertragen werden, ohne der Verwendung des Zwischenverbindungsnetzwerkes (ICN), wenn die globale physikalische Speichereinheit (GPMU) zwei Tore aufweist.
  • 9. Geeignet für einzelne oder eine Mehrzahl von virtuellen speicherprozessoren auf einem einzelnen Bus.
  • 10. Das Zwischenverbindungsnetzwerk (ICN) unterstützt nur Speicher-Management, das mit Verarbeitung überlappt ist.
  • Die Seiten-Management-Lösung, wie sie der Fig. 8 entnommen werden kann, verwendet virtuelle Speichersubbild-Prozessoren (SIP) als die Hardware bildende Blöcke. Die Subbild- Prozessoren sind direkt mit den globalen physikalischen Speichern (GPM) verbunden. Die Definition der Software-Tasks auf die Subbild-Prozessoren und die Organisation der Seiten auf den globalen physikalischen Speichern ist in Fig. 9 präsentiert, mit einer implizierten Verbindung zu den globalen virtuellen Speichereinheiten (GVMU). Drei alternative Organisationen der globalen virtuellen Speichereinheiten sind in Fig. 10 gezeigt, um das statische und das dynamische Speicher-Management zu unterstützen. Eine Standard-Speicherhierarchie verwendet eine rotierende magnetische oder optische Platte als globalen virtuellen Speicher, einen dynamischen Speicher mit wahlfreiem Zugriff (DRAM) für den globalen physikalischen Speicher (GPM) und einen statischen Speicher mit wahlfreiem Zugriff (SRAM) plus Registern für den lokalen Speicher (LM), wobei diese Speicher in der Reihenfolge von steigenden Kosten und der Leistungsfähigkeit aufgelistet sind.
  • Unter der Berücksichtigung des zuvor Gesagten wird eine weitere Erklärung der Erfindung, wie sie in Verbindung mit Fig. 4 beschrieben worden ist, unter Bezugnahme auf die Fig. 8, 9 und 10 gemacht.
  • Fig. 8 illustriert eine Implementierung von zwei Speicher- Management-Lösungen.
  • Fig. 9 illustriert eine Organisation eines globalen physikalischen Speichers. In Verbindung mit Fig. 9 wird folgendes definiert:
  • Task = eine Anzahl von benachbarten vertikalen Abtastlinien (NV), welche seriell in einem Subbild-Prozessor in einem einzelnen Rahmen verarbeitet werden.
  • NT = die Anzahl der Tasks, welche parallel in einem Subbild-Prozessor durchgeführt werden.
  • NV*NT = die Anzahl der vertikalen Abtastlinien, die in einem Subbild-Prozessor verarbeitet werden.
  • N_PIX = die Gesamtanzahl der vertikalen Abtastlinien. = die Anzahl der Pixel pro horizontaler Abtastlinie.
  • = NV NT NI
  • NI = N_PIX/(NV*NT) = die Anzahl der Subbild- Prozessoren.
  • NT = die Anzahl der globalen physikalischen Speicher GPM(I, J) für J = 1, 2, ...NT, die den globalen physikalischen Speicher GPM(I) umfassen.
  • = die Anzahl der dualen Busse, welche benötigt werden, um Lese/Schreibkonflikte während des Speicher-Managements zu vermeiden.
  • N8 = die Anzahl der Seiten P(I, J, K) pro globalem physikalischem Speicher GPM(I, J), wobei N8 durch die Speicher-Management-Lösung bestimmt wird.
  • = (Anzahl der aktiven Seiten, die bei der Subbildverarbeitung für die Verarbeitung gelesen werden) + (Anzahl der aktiven Seiten, die von den virtuellen Speicher-Prozessoren geschrieben werden).
  • VMP = die virtuellen Speicher-Prozessoren, die die Sequenz von Seiten bestimmen, die von einem Subbild-Prozessor-Task benötigt werden und die den Subbild-Prozessoren die Seiten in einer benötigten Sequenz bei einer Zeit übersenden, die ihrem Bedarf durch den Subbild-Prozessor vorangeht.
  • Fig. 10(a) illustriert das statische Speicher-Management. Alle Seiten der Datenbasis sind über Halbleiter RAM- "Platten" globalen virtuellen Speichereinheiten GVMU(I) verschachtelt, welche durch die virtuellen Speicher- Prozessoren VMP gesteuert werden. Diese Initialisierung der globalen virtuellen Speichereinheit GVMU(I) findet statt, bevor die Realzeitverarbeitung beginnt.
  • Die Fig. 10(b) und 10(c) illustrieren dynamisches Speicher- Management unter Verwendung von rotierenden magnetischen oder optischen Scheiben (D) mit ND-Scheiben auf einem Bus, um die Plattenzugriffszeit durch die virtuellen Speicher- Prozessoren (VMP) zu maskieren. Die virtuellen Speicher- Prozessoren greifen auf einzelne Seiten des globalen virtuellen Speichers (GVM) zu, welche sie in ihrem Puffer- Speicher mit wahlfreiem Zugriff speichern. Diese Speicher sind für einen Hochgeschwindigkeitstransfer durch den virtuellen Speicher-Prozessor zu der nächsten Stufe in der Hierarchie fertig. Spezifischerweise illustriert Fig. 10(b) einen Pegel eines virtuellen Speicher-Prozesses, um einzelne Seiten von dem Plattenspeicher D(I, J) zu puffern, und Fig. 10(b) zeigt zwei Pegel von virtuellen Speicher-Prozessoren, wobei der globale virtuelle Speicher GVM(I) Gruppen von Seiten puffert, die in dem nächsten NF-Rahmen benötigt werden.
  • In Fig. 8 wird ein Realzeit-visuelles und Sensor- Simulationssystem gezeigt, das das statische und dynamische Speicher-Management illustriert. Hier werden gegenwärtige Trajektoriendaten (X, Y, Z) = die gegenwärtige Position und (R, P, Y) = die gegenwärtige Lage (Querneigung, Längsneigung, Scherungswinkel) und ihre Geschwindigkeits und Beschleunigungskomponenten an einen Speicher-Management- Computer MMC angelegt, welcher auf eine rotierende magnetische oder optische Scheibe D Zugriff hat. Die Subbild-Prozessoren (SIP), die Objekt-Prozessoren (OP) und die globalen virtuellen Speichereinheiten (GVMU) stehen unter der Steuerung des Speicher-Management-Computers MMC. Das System ist aus N1-Subbild-Prozessoren zusammengesetzt, wobei N1 die Anzahl der Subbild-Prozessoren ist, die benötigt werden, um Subbilder in Real zeit zu errechnen. Jeder Subbild-Prozessor weist seinen eigenen globalen physikalischen Speicher (GPM) auf, der mittels einem N5 x N6-Zwischenverbindungsnetzwerk ICN(1) mit den globalen virtuellen Speichereinheiten (GVMU) des Subbild-Prozessors verbunden ist (und es gibt N6-globale virtuelle Speichereinheiten, entweder Platte oder RAM, plus einem Controller). N5 wird als größer oder gleich N6 angenommen, und N5 = N1 * NT ist die Gesamtanzahl der Tasks, welche parallel in den Subbild-Prozessoren (SIP) verarbeitet werden.
  • Wie bereits in Verbindung mit Fig. 9 erwähnt worden ist, ist ein Task als eine Anzahl (NV) von benachbarten vertikalen Abtastlinien definiert, die seriell auf einem Subbild- Prozessor (SIP) in einem einzelnen Rahmen verarbeitet werden, und (NT) ist die Anzahl der Tasks, die parallel auf einem Subbild-Prozessor (SIP) durchgeführt werden. Die Bandbreite, um die dynamische Aktualisierung dieser Seiten zu unterstützen, bestimmt die Anzahl der Eingangstore oder N6. Es gibt N2 Objekt-Prozessoren (OP), jeder mit seinem nicht geteilten Objektspeicher (OM). Die Anzahl der Bildprozessoren (IP) beträgt N3, und sie sind mit N3- Bildspeichern (IM) und N4-Rahmenpufferspeichern (FB) verbunden, welche die Anzeige treiben. Ein optionaler Satz von N7 globalen virtuellen Speichereinheiten (GVMU) wird mit dem Bildspeicher (IM) durch das Zwischenverbindungsnetzwerk ICN(3) verbunden, sofern die Voxel-Farbdaten hier auf dem Bildprozessor-Subsystem gespeichert sind, im Gegensatz zu der Speicherung auf dem Subbild-Prozessor-Subsystem, wo N3 x N7 angenommen wird . Die Anzahl der Platten (D), welche benötigt wird, um die Seitensuche und die Pufferzeit durch die virtuellen Speicher-Prozessoren (VMP) von Fig. 10 zu maskieren, beträgt ND.
  • Die Verarbeitungs- und Datentransferanforderungen eines jeden Prozessors werden aufeinanderfolgend im folgenden untersucht. Der Speicher-Management-Computer (MMC) tut das folgende:
  • 1. Initialisierung des globalen physikalischen Speichers (GPM) mit Seiten, welche benötigt werden, um das Bild für den Rahmen I zu errechnen und Initialisierung von Adressen von Seiten, welche überschrieben werden können.
  • 2. Eingabe von gegenwärtigen Positions-, Lage- und Trajektoriendaten.
  • 3. Übersendung der gegenwärtigen Position und Lage zu den virtuellen Speicher-Prozessoren (VMP) für den Rahmen I.
  • 4. Errechnung der Seiten, welche für den Rahmen I + 1 benötigt werden, die nicht in dem globalen physikalischen Speicher (GPM) enthalten sind; und der Seiten,welche in dem globalen physikalischen Speicher (GPM) von dem Rahmen I - 1 nicht für den Rahmen I benötigt werden, und Übersendung der Seitenaktualisierungsliste , der Quellenseitennamen und der globalen physikalischen Speicher(GPM(I))-Zielseitenadressen an die virtuellen Speicher-Prozessoren (VMP).
  • Die virtuellen Speicher-Prozessoren (VMP) bestimmen die Sequenz der Seiten, die von einem Subbild-Prozessor-Task benötigt werden und senden zu dem Subbild-Prozessor die Seiten in der benötigten Sequenz zu einer Zeit, die ihrem Bedarf durch den Subbild-Prozessor vorangeht. Jeder führt den benötigten Seitentransfer wie folgt durch:
  • 1. Suchen der Speicher-Management-Computer(MMC)- Seitenaktualisierungsliste für Anpassungen mit Seiten auf seinem globalen virtuellen Speicher (GVM) oder seiner Platte (D).
  • 2. Im statischen Speicher-Management transferieren die virtuellen Speicher-Prozessoren (VMP) dann Seiten, die die Aktualisierungsliste auf dem globalen virtuellen Speicher (GVM(I)) an den globalen physikalischen Speicher (GPM(J)) anpassen.
  • 3. Im dynamischen Speicher-Management macht der virtuelle Speicher-Prozessor (VMP) das folgende:
  • (a) Sucht angepaßte Seiten auf der Platte (D).
  • (b) Transferiert Seiten von (a) in einen Speicher- Puffer mit wahlfreiem Zugriff in dem virtuellen Speicher-Prozessor (VMP).
  • (c) Sendet Seiten an den globalen physikalischen Speicher (GPM(J)), wenn der geteilte virtuelle Speicher-Prozessor-Bus fertig ist.
  • Die Anzahl der Platten auf dem virtuellen Speicher- Prozessor-Bus (oder N8) wird so gewählt, daß sie groß genug ist, um die Such- und Pufferschritte der obigen Punkte 3a und 3b zu maskieren.
  • Der Subbild-Prozessor (SIP(I)) errechnet ein Subbild unter Verwendung der Voxel-Zustandsdatenbasis. Die Lokalität der Referenz wird in diesem Design verwendet, so daß keine Hardware verwendet wird, um den Subbild-Prozessor (SIP(I)) mit dem globalen physikalischen Speicher (GPM(K)) zu verbinden, bis I = K ist. Eine andere Einsparung dieses anwendungsabhängigen Designs ist, daß nur Ein- Richtungsverbindungsnetzwerke (ICN) benötigt werden , da die Datenbasis nur von den Subbild-Prozessoren (SIP) gelesen wird.
  • Die Objekt-Prozessoren (OP) errechnen die Bilder und die Entfernungswerte der dynamischen Objekte. Zusätzlich wird eine Liste von Punkt- und Linienobjekten (beispielsweise landende Lichter oder Telefondrähte) hier verarbeitet.
  • Die Subbild-Prozessoren (SIP) und die Objekt-Prozessoren (OP) senden zu dem Bildprozessor Adressen-Arrays, die durch die Linien- und Pixelwerte des Schirmes indiziert sind und der Bildprozessor (IP) verwendet diese Adressen, welche von Strahlenspurlinien in die Voxel-Zustandsdatenbasis bestimmt worden sind, um Farbwerte von der Voxel-Farbdatenbasis abzurufen, die in den Bildspeichern (IM(I)) gespeichert sind. Vor dem Farbabruf werden die Entfernungswerte verwendet, um verdeckte Oberflächen zwischen dem Subbild- Prozessor (SIP(I)) und dem Objekt-Prozessor (OP(J)) aufzulösen. Der Bildprozessor (IP) dreht dann das Bild um den Querneigungswinkel und tastet das Bild für eine Nachfilterung erneut ab. Zusätzlich werden beliebige entfernungsabhängige Effekte, wie beispielsweise Dunst, durch die Bildprozessoren (IP) addiert.
  • Die Größe des globalen physikalischen Speichers (GPM(I)) ist gegeben durch:
  • Größe GPM(I) = (maximale Anzahl der Seiten für den Rahmen I) + (maximale Anzahl der neuen Seiten, die für I + 1 benötigt werden).
  • Diese Größen werden mit den Flugraten und der Datenbasisauflösung in Beziehung gesetzt. Es gibt einige wenige Typen von redundanten Speichern in diesem Design, aber sie werden alle verwendet, um entweder die Leistungsfähigkeit zu erhöhen oder die Zwischenverbindungsnetzwerk-Kosten zu vermindern. Die Seiten, welche durch die Projektion der Subbildgrenzen geschnitten werden, müssen auf zwei globalen physikalischen Speichern (GPM) gespeichert werden Diese müssen zweimal transferiert werden, wenn der virtuelle Speicher-Prozessor (VMP) sie einmal aus dem Plattenspeicher hervorholt. Sowohl sichtbare als auch verdeckte Voxel-Daten werden für den globalen physikalischen Speicher (GPM) von der globalen virtuellen Speichereinheit (GVMU) über das Zwischenverbindungsnetzwerk (ICN(I)) abgerufen, aber nur auf sichtbare Daten wird zugegriffen. Diese zwei letzten Merkmale erhöhen die Bandbreiteanforderung an das Zwischenverbindungsnetzwerk (ICN(1)). Ohne dynamische Aktualisierung werden alle Seiten in dem globalen virtuellen Speicher (GVM) gespeichert, plus dem aktiven Subsatz auf dem globalen physikalischen Speicher (GPM). Mit einer dynamischen Aktualisierung werden nur einzelne Seitenspeicherpuffer mit wahlfreiem Zugriff in den virtuellen Speicher-Prozessoren (VMP) benötigt, die die Platte managen.
  • Die Anzahl der neuen Seiten, die für den Rahmen I + 1 benötigt werden, hängt von der maximalen Fluggeschwindigkeit in der horizontalen Richtung über der (X, Y)-Ebene und der maximalen Scherungswinkelrate ab. Das Scherungswinkelraten- Problem wird gelöst, indem der Speicher-Management-Computer (MMC) Task-Übertragungen zu den Subbild-Prozessoren (SIP) dreht, wenn sich der Scherungswinkel ändert. Diese Drehung von Task-Übertragungen erlaubt es vielen aktiven Seiten in dem globalen physikalischen Speicher (GPM(I)) nach wie vor verwendet zu werden, und nur der letzte Subbild-Prozessor verlangt einen kompletten neuen Satz von Seiten.
  • Wenn der Algorithmus und die Software vertikale Abtastlinien des Bildes in einer seriellen Art und Weise von der Unterseite des Bildes zu der Oberseite verarbeiteten, dann wird diese Sequenz von Seitenzugriffen in das Speicher- Management-Design eingebaut. Der Speicher-Management- Computer (MMC) teilt den virtuellen Speicher-Prozessoren (VMP) zunächst mit, auf die Seiten von der Unterseite des Bildes her zuzugreifen und sie an den globalen physikalischen Speicher zu senden, und dann sukzessive auf die Seiten von der Unterseite bis zur Oberseite. Dies ist kein Vorteil, wenn die von dem virtuellen Speicher-Prozessor (VMP) während des Rahmens I angelegten Seiten nicht bis zum Rahmen I + 1 verwendet werden. Wenn indessen die virtuellen Speicher-Prozessoren während des Rahmens I die Seiten an die globalen physikalischen Speicher in dieser Unterseite-zur- Oberseite-Sequenz anlegen, die für den Rahmen I benötigt werden, ist eine große Einsparung an die Speicheranforderungen dieses Systemes das Ergebnis. Nun beträgt die Größe des globalen physikalischen Speichers nur ein paar Seiten (beispielsweise 3), und er wird zu einem Hochgeschwindigkeitsseiten-Cache. Eine Möglichkeit, um dies zu implementieren, liegt darin, den virtuellen Speicher- Prozessor (VMP) einen einfachen zweidimensionalen Abtastkonversions-Algorithmus aus dem Computergraphikfeld benutzen zu lassen und beispielsweise entlang der Projektion des Strahles auf die (X, Y)-Ebene von dem Auge bis zu einer maximalen Entfernung bei der Auflösung des (X, Y)- Seitennetzes springen zu lassen. Der virtuelle Speicher- Prozessor (VMP) sendet dann diese Seiten in dieser Sequenz an den globalen physikalischen Speicher (GPM(I)). Wenn die virtuellen Speicher-Prozessoren (VMP) diesen Seitenbestimmungs-Task durchführen, nehmen sie in einem verteilten Sinn die Masse der Speicher-Management- Computerfunktionen an, und diese Funktionen werden reduziert, um die gegenwärtige Position und Lage zu senden.
  • Eine andere Option ist es, die Kosten der Vielzahl von Kopien der Datenbasis auf verschiedenen Platten zu vergleichen, auf die durch ein einzelnes Subbild oder einen kleinen Haufen von Subbild-Prozessoren zugegriffen wird. In einem Extrem ist eine einzelne Kopie der Datenbasis auf den Platten, wie in Fig. 8 gezeigt, aber die zusätzlichen Kosten jedes Zwischenverbindungsnetzwerkes werden nötig, um die Subbild-Prozessoren mit der Platte kreuzzukoppeln. In dem anderen Extrem existieren die Kosten der Vielzahl von Kopien der Datenbasis auf verschiedenen Platten bei jedem Subbild- Prozessor, aber es besteht kein Bedarf an einem Zwischenverbindungsnetzwerk und seinen Kosten.

Claims (23)

1. Ein Computerbild-Erzeugungssystem zur Erzeugung kodierter Bildsignale, welche eine ausgewählte Szenerie darstellen, mit:
a) Speichervorrichtungen, welche eine dreidimensionale Bilddatenbasis von diskreten Volumenelementen bereitstellen, die individuell verschiedene Subbilder der Szenerie repräsentieren;
b) Vorrichtungen zum Zugreifen auf die Datenbasis, um die Daten von all den Subbildern hervorzuholen, die die ausgewählte Szenerie umfassen;
c) Vorrichtungen zum Verarbeiten der Daten unter Verwendung einer dreidimensionalen sichtbaren Oberflächentechnik mit einer Strahlengangsbestimmung für jedes Subbild der ausgewählten Szenerie, unabhängig und parallel mit anderen Subbildern der ausgewählten Szenerie; und
d) Bilderzeugungsvorrichtungen, welche mit den Vorrichtungen zur Verarbeitung der Daten verbunden sind, um simultan die Daten für alle der Subbilder zu verarbeiten, um kodierte Bildsignale zu erzeugen, die die ausgewählte Szenerie darstellen, dadurch gekennzeichnet, daß
e) die dreidimensionale Datenbasis Datenbasisstrukturen aus Volumenelementen mit verschiedenen Auflösungen umfaßt, die für eine Datenstruktur mit hierarchischer Auflösung sorgen.
2. Das System nach Anspruch 1, worin die Vorrichtungen zum Verarbeiten der Daten umfassen:
eine Mehrzahl von Subbilddatenverarbeitungs-Einrichtungen, um Bilder vom Terrain, statischen Objekten auf dem Terrain und dem Himmel zu errechnen.
Objektdatenverarbeitungs-Einrichtungen, um Bilder von dynamischen Objekten, Punkten, Linien, Zielen und Spezialeffekten sowie dynamischen See- und dynamischen atmosphärischen Effekten zu errechnen; und worin
die Speichervorrichtungen Datenquellen umfassen, die mit den Subbilddatenverarbeitungs-Einrichtungen und den Objektdatenverarbeitungs-Einrichtungen gekoppelt sind, um Bilddaten für die Verarbeitung bereitzustellen; und worin
die Vorrichtungen zum Zugreifen auf die Datenbasis Vorrichtungen zum Steuern umfassen, die mit den Subbilddatenverarbeitungs-Einrichtungen, den Objektdatenverarbeitungs-Einrichtungen und den Datenquellen für die Subbild- und Objektdatenverarbeitungs-Einrichtungen gekoppelt sind, um die Subbilddatenverarbeitungs-Einrichtungen und die Objektdatenverarbeitungs-Einrichtungen bezüglich gegenwärtiger Bilddaten zu steuern und um die Datenquellen für die Subbilddatenverarbeitungs-Einrichtungen bezüglich Bilddaten zu steuern, die als nächstes für die Bilderzeugung benötigt werden.
3. Das System nach Anspruch 2, in dem die Datenquellen umfassen:
Objektspeicher für die Objektdatenverarbeitungs-Einrichtungen; globale physikalische Speicher, welche mit den Subbilddatenverarbeitungs-Einrichtungen gekoppelt sind, die Subsätze von Datenbasen enthalten, die für die gegenwärtige Bilddatenverarbeitung benötigt werden;
globale virtuelle Speicher, welche wenigstens eine große Terrain-Datenbasis enthalten; und
Zwischenverbindungsnetzwerke, die die globalen virtuellen Speicher und die globalen physikalischen Speicher koppeln, um Daten an sie anzulegen.
4. Das System nach Anspruch 2, in dem die Steuervorrichtungen umfassen:
ein Bewegungsrechnersystem, um gegenwärtige und vorhergesagte Anzeigen von Fahrzeugpositionen und - lagen zu erzeugen; und
Vorrichtungen zum Koppeln des Bewegungsrechnersystemes mit den Subbilddatenverarbeitungs-Einrichtungen und den Objektdatenverarbeitungs-Einrichtungen um eine Steuerung bezüglich den gegenwärtigen Bilddaten bereitzustellen und um das Bewegungsrechnersystem anzukoppeln, um eine Steuerung bezüglich den Daten bereitzustellen, die als nächstes für die Bildverarbeitung und die Anzeige benötigt werden.
5. Das System nach Anspruch 4, in dem das Bewegungsrechnersystem mit dem globalen virtuellen Speicher gekoppelt ist.
6. Das System nach Anspruch 1, worin für jedes Subbild ein separater Software-Task erzeugt wird, wobei der Code oder die Logik in jedem Task identisch ist, aber die Eingabeparameter für jedes Subbild variieren, wobei die Daten, die aus der Datenbasis verarbeitet werden, mit jedem Task variieren, und worin
die Vorrichtungen zum Zugreifen in Übereinstimmung mit den Eingabeparametern für jedes Subbild auf die Datenbasis zugreifen.
7. Das System nach Anspruch 1, in dem eine Datenbasis einer hohen Auflösung in einer Datenbasis einer geringeren Auflösung eingebettet ist.
8. Das System nach Anspruch 1, worin jedes Volumenelement einen Ort innerhalb der Datenbasis aufweist, der der X, Y-Adresse in der Ebene des Teiles der Szenerie entspricht, der durch das Volumenelement repräsentiert wird und auf das mittels ersten und zweiten Schrittpositionsvektorkomponenten in die Datenbasis zugegriffen wird, die jeweils die X- und Y-Werte der Adresse repräsentieren, und mittels einer dritten Schrittpositionsvektorkomponente, die mit den Höhendaten verglichen wird, die in der Datenbasis in Verbindung mit der Adresse gespeichert sind, wobei das Weiterspringen endet, wenn die dritte Schrittpositionsvektorkomponente kleiner oder gleich den Höhendaten ist.
9. Das System nach Anspruch 8, in dem die Datenbasis eine Hierarchie von Auflösungen umfaßt und Maximalwerte der Höhendaten bei geringeren Höhenauflösungswerten als die X, Y-Adressenwerte in jeder Hierarchie von Auflösungen gespeichert werden, und das Weiterspringen bei Werten geringer Auflösung wieder beginnt, wenn die dritte Schrittpositionsvektorkomponente sich oberhalb des Wertes geringer Auflösung der Höhendaten befindet.
10. Das System nach Anspruch 9, bei dem das Weiterspringen bei der nächsthöheren Auflösung nur dann stattfindet, wenn die dritte Schrittpositionsvektorkomponente kleiner oder gleich dem Wert geringer Auflösung der Höhendaten ist.
11. Das System nach Anspruch 8, in dem das ausgewählte Bild in vertikale Abtastlinien zerlegt wird und auf die Datenbasis für alle Höhendaten zugegriffen wird, die mit jedem Volumenelement verbunden sind.
12. Das System nach Anspruch 8, in dem das Bild in ein Netz von quadratischen Subbildern zerlegt wird, von denen jedes in eine Sequenz von konzentrischen quadratischen Kreisringen zerlegt wird, und wobei auf die Datenbasis beginnend mit dem Teil zugegriffen wird, der dem äußersten quadratischen Kreisring entspricht, und wobei sequentiell in der Datenbasis bis zu dem Teil fortgefahren wird, der den innersten quadratischen Kreisring repräsentiert.
13. Das System nach Anspruch 1, worin die diskreten Volumenelemente der Bilddatenbasis in den Speichervorrichtungen bei bestimmten X, Y-Positionen bereitgestellt werden;
die Volumenelemente gespeicherte Daten enthalten, die die Kontur und die Höhe des Subbildes des Bildes bei der X, Y-Adresse eines jeden Volumenelementes definieren, und worin
Informationsvolumenelemente mit hoher Auflösung in einem Bereich der Datenspeichervorrichtungen und Informationsvolumenelemente geringerer Auflösung in einem anderen Bereich bereitgestellt werden.
14. Das System nach Anspruch 13, in dem die Informationsvolumenelemente hoher Auflösung Bildauflösungen von ungefähr 1/10 eines Fußes und die Informationsvolumenelemente geringerer Auflösung Bildauflösungen von ungefähr 1 Fuß bis 100 Fuß bereitstellen.
15. Ein Verfahren zur Erzeugung kodierter Bildsignale, welche eine ausgewählte Szenerie repräsentieren, welches die Schritte aufweist:
a) Entwickeln einer Datenbasis aus Gruppen von Signalzuständen, wobei jede Gruppe von Signal zuständen ein Datenbasisvolumenelement (Voxel) bildet, dessen Signalzustände ein dreidimensionales Subbild der Szenerie repräsentieren;
b) Zugreifen auf die Volumenelemente in der Datenbasis, um die Daten von allen Subbildern hervorzuholen, die die ausgewählte Szenerie umfassen;
c) Verarbeiten der Daten unter Verwendung einer dreidimensionalen sichtbaren Oberflächentechnik mit einer Strahlengangsbestimmung von jedem zugegriffenen Volumenelement für jedes Subbild der ausgewählten Szenerie unabhängig und parallel mit den Daten für andere Subbilder der ausgewählten Szenerie;
d) nachfolgend simultanes Verarbeiten der Daten für alle der Subbilder, um die kodierten Bildsignale zu erzeugen, dadurch gekennzeichnet, daß es desweiteren den Schritt aufweist:
e) Bereitstellen der Datenbasis von Gruppen von Signalzuständen mit Datenbasisstrukturen von Volumenelementen mit verschiedenen Auflösungen, wodurch eine Datenstruktur mit hierarchischer Auflösung bereitgestellt wird.
16. Das Verfahren nach Anspruch 15, worin jedes Volumenelement einen Ort in den Datenbasis aufweist, der mit dem Netzpunktort des Subbildes der Szenerie identifiziert wird, das durch das Volumenelement repräsentiert wird.
17. Das Verfahren nach Anspruch 15, worin der Schritt des Zugreifens auf das Volumenelement in der Datenbasis in Schritten durchgeführt wird, die simultanen Schritten entlang individuellen Strahlen von einem Beobachtungspunkt aus in die Szene projiziert entsprechen.
18. Das Verfahren nach Anspruch 15, welches desweiteren die Schritte aufweist:
Bereitstellen eines separaten Tasks für jedes Subbild, in dem die Logik für jeden Task identisch ist;
Verwenden von verschiedenen Eingabeparametern für jeden Task, um auf Daten aus der Datenbasis zuzugreifen, die mit jedem Task variieren;
Durchführen der Tasks und Verarbeiten der Daten in einem hochparallelen Modus, um einen hohen Durchsatz von Daten für ein Realzeitbild bereitzustellen; und
Durchführen der Tasks und Verarbeiten der Daten in einem weniger parallelen Modus, um einen geringeren Datendurchsatz für Nichtrealzeitbilder bereitzustellen.
19. Das Verfahren nach Anspruch 15, welches desweiteren die Schritte aufweist:
Bereitstellen der Hierarchie der Datenbasisstrukturen mit hohen, mittleren und geringen Datenauflösungen;
Speichern des Mittelwertes der hohen Datenauflösung bei Datenbasisorten von Mittlerer Datenauflösung;
Speichern des Mittelwertes der mittleren Datenauflösung bei Datenbasisorten geringer Datenauflösung; und
Zugreifen auf die Datenbasisorte beginnend mit den Orten geringer Datenbasisauflösungen und Zugreifen auf Orte höherer Auflösungen, wenn die Betrachtungsentfernung geringer ist als bestimmte vorhererrechnete Schwellwertentfernungen.
20. Das Verfahren nach Anspruch 15, worin die Hierarchie der Volumenelemente bei X, Y-Orten bereitgestellt wird, die jeweils Werte der Höhe Z enthalten, welches desweiteren die Schritte aufweist:
Initialisierung einer Sequenz von verschiedenen Zugriffsschritten in die Datenbasis, wobei jeder Zugriffssschritt aus einem Schrittindex 1, einem Schrittindex 2 und einem Schrittindex 3 besteht, worin die Werte der Schrittindizes 1 und 2 sich auf Daten in einem Voxel bei einer spezifischen X, Y- Adresse in der Datenbasis beziehen;
Vergleichen des Wertes des Schrittindexes 3 mit dem Wert von z, der bei der X, Y-Adresse gespeichert ist; und
Beenden der Zugriffsschritte, wenn der Wert des Schrittindexes 3 geringer oder gleich dem Z-Wert bei der X, Y-Adresse ist.
21. Das Verfahren nach Anspruch 20, worin die dreidimensionale Datenbasis eine einwertige flache zweidimensionale Oberfläche darstellt, welches die Schritte umfaßt:
Initialisierung eines einzelnen Zugriffschrittes in die Oberflächendatenbasis, bestehend aus dem Schrittindex 1, dem Schrittindex 2 und dem Schrittindex 3, welche Quadraturkomponenten eines Schrittvektors sind, der den Zugriffsschritt definiert; und
Setzen des Schrittindexes 3 auf einen Wert, der der Höhe Null, Z, bei der X, Y-Adresse entspricht.
22. Das Verfahren nach Anspruch 20, worin die Datenbasis eine einwertige diskontinuierliche zweidimensionale Oberfläche repräsentiert, worin die Schrittindizes 1, 2 und 3 Quadraturkomponenten eines Schrittvektors sind, der die Zugriffsschritte definiert, und worin die X, Y-Adresse in der Datenbasis einem Gitterpunktort eines Subbildes eines anzuzeigenden ausgewählten Bildes entspricht, welches desweiteren den Schritt aufweist
Setzen des Wertes des Schrittindexes 3 auf einen Wert, der eine ausgewählte Höhe bei der X, Y-Adresse repräsentiert.
23. Das Verfahren nach Anspruch 22, worin die Datenbasis eine einwertige diskontinuierliche zweidimensionale Datenbasis repräsentiert, welche eine Mehrzahl von Höhen Z, Z1, Z2 bei einer X, Y-Adresse aufweist, welches desweiteren den Schritt aufweist
Beenden der Zugriffsschritte, wenn der Wert des Schrittindexes 3 kleiner oder gleich dem Wert von Z bei der X, Y-Adresse ist, oder wenn der Schrittindex 3 gleich Z1 oder Z2 ist.
DE8787905131T 1986-09-11 1987-07-30 Digitales simulationssystem zur erzeugung von realistischen szenen. Expired - Fee Related DE3782160T2 (de)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US92585586A 1986-09-11 1986-09-11
PCT/US1987/001812 WO1988002156A2 (en) 1986-09-11 1987-07-30 Digital simulation system for generating realistic scenes

Publications (2)

Publication Number Publication Date
DE3782160D1 DE3782160D1 (de) 1992-11-12
DE3782160T2 true DE3782160T2 (de) 1993-02-11

Family

ID=25452348

Family Applications (1)

Application Number Title Priority Date Filing Date
DE8787905131T Expired - Fee Related DE3782160T2 (de) 1986-09-11 1987-07-30 Digitales simulationssystem zur erzeugung von realistischen szenen.

Country Status (10)

Country Link
US (1) US5317689A (de)
EP (3) EP0282504B1 (de)
JP (1) JPH01501178A (de)
KR (1) KR880701922A (de)
CA (2) CA1282173C (de)
DE (1) DE3782160T2 (de)
ES (1) ES2007713A6 (de)
IL (3) IL83616A (de)
TR (3) TR24961A (de)
WO (1) WO1988002156A2 (de)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE10016765A1 (de) * 2000-04-04 2001-10-11 Abb Patent Gmbh System und Verfahren zur Generierung hybrider 2D/3D-Darstellungen von Prozeßzuständen auf einem Flughafenvorfeld

Families Citing this family (131)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4972319A (en) * 1987-09-25 1990-11-20 Delorme David M Electronic global map generating system
US5030117A (en) * 1987-09-25 1991-07-09 Delorme David M Digital global map generating system
US4876651A (en) * 1988-05-11 1989-10-24 Honeywell Inc. Digital map system
JPH07504055A (ja) * 1992-02-18 1995-04-27 エバンス アンド サザーランド コンピューター コーポレーション テーマ・セルを有している画像テクスチャリング・システム
US5469535A (en) * 1992-05-04 1995-11-21 Midway Manufacturing Company Three-dimensional, texture mapping display system
US5490239A (en) * 1992-10-01 1996-02-06 University Corporation For Atmospheric Research Virtual reality imaging system
US5751289A (en) * 1992-10-01 1998-05-12 University Corporation For Atmospheric Research Virtual reality imaging system with image replay
US5422653A (en) * 1993-01-07 1995-06-06 Maguire, Jr.; Francis J. Passive virtual reality
JPH06223198A (ja) * 1993-01-26 1994-08-12 Hitachi Ltd 光線追跡による画像生成装置及び方法
IL108668A (en) * 1993-02-25 1998-09-24 Hughes Training Inc A method and system for creating a plurality of 3D image characters
US5550959A (en) * 1993-05-27 1996-08-27 Novalogic, Inc. Technique and system for the real-time generation of perspective images
US5577960A (en) * 1993-06-10 1996-11-26 Namco, Ltd. Image synthesizing system and game playing apparatus using the same
JPH0757117A (ja) * 1993-07-09 1995-03-03 Silicon Graphics Inc テクスチャマップへの索引を生成する方法及びコンピュータ制御表示システム
JPH0778267A (ja) * 1993-07-09 1995-03-20 Silicon Graphics Inc 陰影を表示する方法及びコンピュータ制御表示システム
US5729672A (en) * 1993-07-30 1998-03-17 Videologic Limited Ray tracing method and apparatus for projecting rays through an object represented by a set of infinite surfaces
GB9315852D0 (en) * 1993-07-30 1993-09-15 Video Logic Ltd Shading three-dimensional images
US5388932A (en) * 1993-09-13 1995-02-14 Kennametal Inc. Cutting insert for a milling cutter
WO1995010822A1 (en) * 1993-10-15 1995-04-20 Evans & Sutherland Computer Corporation Direct rendering of textured height fields
US6005581A (en) * 1994-01-18 1999-12-21 Honeywell, Inc. Terrain elevation path manager
JP3143558B2 (ja) * 1994-02-02 2001-03-07 キヤノン株式会社 画像表示方法および装置
US5699497A (en) * 1994-02-17 1997-12-16 Evans & Sutherland Computer Corporation Rendering global macro texture, for producing a dynamic image, as on computer generated terrain, seen from a moving viewpoint
CA2144914A1 (en) * 1994-04-01 1995-10-02 Raymond L. Fitzgerald Computer graphics texture paging system with fragmentary mip map selection
US5493643A (en) * 1994-05-03 1996-02-20 Loral Aerospace Corp. Image generator architecture employing tri-level fixed interleave processing and distribution buses
GB2295757B (en) * 1994-06-17 1998-04-08 Namco Ltd Three-dimensional simulator and image synthesis method
US5566073A (en) * 1994-07-11 1996-10-15 Margolin; Jed Pilot aid using a synthetic environment
CA2198611A1 (en) * 1994-09-06 1996-03-14 Arie E. Kaufman Apparatus and method for real-time volume visualization
JP2623449B2 (ja) * 1994-10-29 1997-06-25 雅治 石井 地形モデル作成方法
IL112940A (en) * 1995-03-08 1998-01-04 Simtech Advanced Training & Si Apparatus and method for simulating a terrain and objects thereabove
US8330812B2 (en) * 1995-05-30 2012-12-11 Simulated Percepts, Llc Method and apparatus for producing and storing, on a resultant non-transitory storage medium, computer generated (CG) video in correspondence with images acquired by an image acquisition device tracked in motion with respect to a 3D reference frame
US7453451B1 (en) 1999-03-16 2008-11-18 Maguire Francis J Jr Moveable headrest for viewing images from different directions
US6181371B1 (en) 1995-05-30 2001-01-30 Francis J Maguire, Jr. Apparatus for inducing attitudinal head movements for passive virtual reality
US5913727A (en) * 1995-06-02 1999-06-22 Ahdoot; Ned Interactive movement and contact simulation game
US5760783A (en) * 1995-11-06 1998-06-02 Silicon Graphics, Inc. Method and system for providing texture using a selected portion of a texture map
US6437758B1 (en) * 1996-06-25 2002-08-20 Sun Microsystems, Inc. Method and apparatus for eyetrack—mediated downloading
IL119082A (en) * 1996-08-16 2001-04-30 Virtue Ltd A method for creating graphic characters
WO1998026306A1 (en) * 1996-12-09 1998-06-18 Miller Richard L 3-d weather display and weathercast system
US6111582A (en) * 1996-12-20 2000-08-29 Jenkins; Barry L. System and method of image generation and encoding using primitive reprojection
US6057847A (en) * 1996-12-20 2000-05-02 Jenkins; Barry System and method of image generation and encoding using primitive reprojection
US6023279A (en) * 1997-01-09 2000-02-08 The Boeing Company Method and apparatus for rapidly rendering computer generated images of complex structures
US5969723A (en) * 1997-01-21 1999-10-19 Mcdonnell Douglas Corporation Method for incorporating high detail normal vector information into polygonal terrain databases and image display system which implements this method
US6020893A (en) * 1997-04-11 2000-02-01 Novalogic, Inc. System and method for realistic terrain simulation
US6028608A (en) * 1997-05-09 2000-02-22 Jenkins; Barry System and method of perception-based image generation and encoding
US6111583A (en) * 1997-09-29 2000-08-29 Skyline Software Systems Ltd. Apparatus and method for three-dimensional terrain rendering
US6266063B1 (en) 1997-10-20 2001-07-24 Baron Services, Inc. Real-time three-dimensional weather display method and weathercast system
US6683609B1 (en) 1997-10-20 2004-01-27 Baron Services, Inc. Real-time three-dimensional weather data processing method and system
US5959717A (en) * 1997-12-12 1999-09-28 Chaum; Jerry Motion picture copy prevention, monitoring, and interactivity system
US6298157B1 (en) * 1998-02-27 2001-10-02 Adobe Systems Incorporated Locating and aligning embedded images
US6456288B1 (en) * 1998-03-31 2002-09-24 Computer Associates Think, Inc. Method and apparatus for building a real time graphic scene database having increased resolution and improved rendering speed
US6313841B1 (en) * 1998-04-13 2001-11-06 Terarecon, Inc. Parallel volume rendering system with a resampling module for parallel and perspective projections
US6100862A (en) * 1998-04-20 2000-08-08 Dimensional Media Associates, Inc. Multi-planar volumetric display system and method of operation
US6466185B2 (en) 1998-04-20 2002-10-15 Alan Sullivan Multi-planar volumetric display system and method of operation using psychological vision cues
US6377229B1 (en) 1998-04-20 2002-04-23 Dimensional Media Associates, Inc. Multi-planar volumetric display system and method of operation using three-dimensional anti-aliasing
US6163756A (en) * 1998-10-20 2000-12-19 Baron Services, Inc. System and method for detecting and displaying wind shear
US6266733B1 (en) * 1998-11-12 2001-07-24 Terarecon, Inc Two-level mini-block storage system for volume data sets
US6697497B1 (en) 1998-12-22 2004-02-24 Novell, Inc. Boundary identification and characterization through density differencing
US6373482B1 (en) 1998-12-23 2002-04-16 Microsoft Corporation Method, system, and computer program product for modified blending between clip-map tiles
US20030158786A1 (en) * 1999-02-26 2003-08-21 Skyline Software Systems, Inc. Sending three-dimensional images over a network
US6307558B1 (en) * 1999-03-03 2001-10-23 Intel Corporation Method of hierarchical static scene simplification
US6674922B1 (en) * 1999-03-26 2004-01-06 Canon Kabushiki Kaisha Image processing method, image processing apparatus, and storage medium
AU2001239926A1 (en) * 2000-02-25 2001-09-03 The Research Foundation Of State University Of New York Apparatus and method for volume processing and rendering
IL136430A0 (en) * 2000-05-29 2001-06-14 Zviaguina Natalia Ray tracing method and system for determining visible parts of surfaces of three-dimensional objects and their parameters of shading accounting for light and shadow volumes
US20020033832A1 (en) * 2000-09-18 2002-03-21 Rafail Glatman Method for computer modeling of visual images and wave propagation
US8817045B2 (en) * 2000-11-06 2014-08-26 Nant Holdings Ip, Llc Interactivity via mobile image recognition
US8130242B2 (en) * 2000-11-06 2012-03-06 Nant Holdings Ip, Llc Interactivity via mobile image recognition
ATE287556T1 (de) * 2000-11-17 2005-02-15 Draeger Medical Systems Inc Vollintegrierter arbeitsplatz für die intensiv- pflege
US7187389B2 (en) 2001-04-12 2007-03-06 International Business Machines Corporation System and method for simultaneous display of multiple object categories
IL143255A (en) 2001-05-20 2015-09-24 Simbionix Ltd Endoscopic ultrasonography simulation
JP3812368B2 (ja) * 2001-06-06 2006-08-23 豊田合成株式会社 Iii族窒化物系化合物半導体素子及びその製造方法
US6956570B2 (en) * 2001-06-27 2005-10-18 Believe, Inc. Object visibility control for ray tracing
US6670908B2 (en) 2001-07-31 2003-12-30 Baron Services, Inc. Automated system and method for processing meteorological data
US20030059743A1 (en) 2001-08-29 2003-03-27 The Boeing Company Method and apparatus for automatically generating a terrain model for display during flight simulation
US6700573B2 (en) 2001-11-07 2004-03-02 Novalogic, Inc. Method for rendering realistic terrain simulation
US6906725B2 (en) * 2002-02-22 2005-06-14 L-3 Communications Corporation Apparatus and method for simulating sensor imagery
US20040243364A1 (en) * 2002-05-22 2004-12-02 Wendelin Timothy J. Method and system for modeling solar optics
US7015920B2 (en) * 2003-04-30 2006-03-21 International Business Machines Corporation Method and system for providing useable images on a high resolution display when a 2D graphics window is utilized with a 3D graphics window
US20040243307A1 (en) * 2003-06-02 2004-12-02 Pieter Geelen Personal GPS navigation device
US7850456B2 (en) 2003-07-15 2010-12-14 Simbionix Ltd. Surgical simulation device, system and method
JP3789919B2 (ja) 2004-02-19 2006-06-28 コナミ株式会社 ゲームプログラム、ゲーム装置及びゲーム方法
US20060164417A1 (en) * 2004-07-28 2006-07-27 Lockheed Martin Corporation Imagery-based synthetic environment for computer generated forces
US7302364B2 (en) * 2004-07-30 2007-11-27 The Boeing Company Methods and systems for advanced spaceport information management
US7891978B2 (en) * 2005-01-13 2011-02-22 International Business Machines Corporation Search and rescue training simulator
CA2621191C (en) 2005-08-29 2012-12-18 Evryx Technologies, Inc. Interactivity via mobile image recognition
IL174737A (en) * 2006-04-03 2014-12-31 Camero Tech Ltd Device and method for visualizing volume in broadband radar
JP4864554B2 (ja) * 2006-06-12 2012-02-01 株式会社東芝 超音波診断装置、医用画像処理装置、及び医用画像処理プログラム
US7898546B1 (en) * 2006-11-03 2011-03-01 Nvidia Corporation Logical design of graphics system with reduced shadowed state memory requirements
US7768515B1 (en) 2006-11-03 2010-08-03 Nvidia Corporation Apparatus, system, and method for reducing shadowed state memory requirements for identifying driver command exceptions in a graphics system
WO2008073449A2 (en) 2006-12-12 2008-06-19 Evans & Sutherland Computer Corporation System and method for aligning rgb light in a single modulator projector
WO2008087629A2 (en) 2007-01-16 2008-07-24 Simbionix Ltd. Preoperative surgical simulation
US8543338B2 (en) 2007-01-16 2013-09-24 Simbionix Ltd. System and method for performing computerized simulations for image-guided procedures using a patient specific model
US8019736B1 (en) * 2007-07-25 2011-09-13 Rockwell Collins, Inc. Systems and methods for combining a plurality of terrain databases into one terrain database
US7646332B2 (en) * 2007-08-09 2010-01-12 Raytheon Company Method and apparatus for interleaved gridding in distributed multiple computing for real-time RCS prediction
US7652620B2 (en) * 2007-08-09 2010-01-26 Raytheon Company RCS signature generation for closely spaced multiple objects using N-point models
US8213954B2 (en) * 2007-08-28 2012-07-03 Motorola Solutions, Inc. Method for addressing user location errors in a cognitive radio system
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
US7602332B1 (en) 2008-06-13 2009-10-13 Raytheon Company Reducing scattering center data using multi-volume aggregation
US7616151B1 (en) 2008-06-13 2009-11-10 Raytheon Company Reducing scattering center data using magnitude-based reduction
US20100037169A1 (en) * 2008-08-08 2010-02-11 Eastman Kodak Company Display of system operating status in a multi-node system
US7592947B1 (en) 2008-09-18 2009-09-22 Raytheon Company Generating radar signatures for multiple objects
US7750842B2 (en) * 2008-09-18 2010-07-06 Raytheon Company Parallel processing to generate radar signatures for multiple objects
US7880671B2 (en) * 2008-09-18 2011-02-01 Raytheon Company Electromagnetic (EM) solver using a shooting bouncing ray (SBR) technique
US7567205B1 (en) * 2008-09-18 2009-07-28 Raytheon Company Dynamic ray traversing
US8077378B1 (en) 2008-11-12 2011-12-13 Evans & Sutherland Computer Corporation Calibration system and method for light modulation device
US8108147B1 (en) * 2009-02-06 2012-01-31 The United States Of America As Represented By The Secretary Of The Navy Apparatus and method for automatic omni-directional visual motion-based collision avoidance
KR101004110B1 (ko) * 2009-05-28 2010-12-27 주식회사 실리콘아츠 레이 트레이싱 코어 및 이를 포함하는 레이 트레이싱 칩
US8419534B2 (en) 2009-09-30 2013-04-16 Disney Enterprises, Inc. Systems and methods for using images to generate gameplay content
US8190585B2 (en) * 2010-02-17 2012-05-29 Lockheed Martin Corporation Supporting multiple different applications having different data needs using a voxel database
US8390508B1 (en) 2010-04-05 2013-03-05 Raytheon Company Generating radar cross-section signatures
US8589867B2 (en) 2010-06-18 2013-11-19 Microsoft Corporation Compiler-generated invocation stubs for data parallel programming model
US20110314256A1 (en) * 2010-06-18 2011-12-22 Microsoft Corporation Data Parallel Programming Model
US8917941B2 (en) * 2010-09-28 2014-12-23 Siemens Aktiengesellschaft System and method for shape measurements on thick MPR images
FR2974215B1 (fr) * 2011-04-12 2013-10-25 Real Fusio France Procede et systeme de rendu d'une scene virtuelle en trois dimensions
US9196086B2 (en) 2011-04-26 2015-11-24 Here Global B.V. Method, system, and computer-readable data storage device for creating and displaying three-dimensional features on an electronic map display
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
JP5303692B1 (ja) * 2011-11-28 2013-10-02 パナソニック株式会社 立体画像処理装置及び立体画像処理方法
US9583020B1 (en) * 2012-11-30 2017-02-28 Rockwell Collins, Inc. Simulator system for simulating weather
US9265458B2 (en) 2012-12-04 2016-02-23 Sync-Think, Inc. Application of smooth pursuit cognitive testing paradigms to clinical drug development
CN103049649A (zh) * 2012-12-10 2013-04-17 江西洪都航空工业集团有限责任公司 解决飞行模拟器视景系统天地线匹配问题的算法
US9380976B2 (en) 2013-03-11 2016-07-05 Sync-Think, Inc. Optical neuroinformatics
WO2016165076A1 (en) * 2015-04-14 2016-10-20 Chongqing University Of Posts And Telecommunications Method and system for image enhancement
US9990335B2 (en) * 2016-06-27 2018-06-05 The United States Of America As Represented By The Administrator Of The National Aeronautics And Space Administration Universal and automated monte carlo method code for uncertainty propagation in metrology databases
US10420999B2 (en) 2017-03-27 2019-09-24 Intel Corporation Sensor-derived object flight performance tracking
US10409638B2 (en) 2017-04-10 2019-09-10 Bank Of America Corporation Digital processing system for event and/or time based triggering management, and control of tasks
US11074827B2 (en) 2017-08-25 2021-07-27 Aurora Flight Sciences Corporation Virtual reality system for aerial vehicle
US11064184B2 (en) 2017-08-25 2021-07-13 Aurora Flight Sciences Corporation Aerial vehicle imaging and targeting system
US10495421B2 (en) 2017-08-25 2019-12-03 Aurora Flight Sciences Corporation Aerial vehicle interception system
US10459445B2 (en) * 2017-09-28 2019-10-29 Intel IP Corporation Unmanned aerial vehicle and method for operating an unmanned aerial vehicle
CN108111784B (zh) * 2017-12-22 2020-06-26 成都先锋材料有限公司 一种生物活体影像监控系统
WO2020061186A1 (en) * 2018-09-20 2020-03-26 Koulomzin George An apparatus, methodologies and software applications for determining a level of direct sunlight
FR3095533B1 (fr) * 2019-04-26 2021-05-07 Thales Sa Procede et dispositif electronique de gestion de l'affichage d'un profil de vol d'un aeronef avec selection de resolution(s) adaptees(s) de base(s) de donnees terrain, programme d'ordinateur et systeme electronique d'affichage assoocies
US11436761B2 (en) * 2020-03-18 2022-09-06 International Business Machines Corporation Preventing feature loss when compressing images

Family Cites Families (19)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4017985A (en) * 1975-08-22 1977-04-19 General Electric Company Multisensor digital image generator
CA1141468A (en) * 1979-06-15 1983-02-15 Martin J.P. Bolton Visual display apparatus
US4616217A (en) * 1981-05-22 1986-10-07 The Marconi Company Limited Visual simulators, computer generated imagery, and display systems
US4489389A (en) * 1981-10-02 1984-12-18 Harris Corporation Real time video perspective digital map display
US4660157A (en) * 1981-10-02 1987-04-21 Harris Corporation Real time video perspective digital map display method
NL8300872A (nl) * 1983-03-10 1984-10-01 Philips Nv Multiprocessor-rekenmachinesysteem voor het tot een gekleurde afbeelding verwerken van in een hierarchische datastruktuur gedefinieerde objekt-elementen.
EP0100097B1 (de) * 1982-07-30 1991-01-30 Honeywell Inc. Rechnergesteuertes Abbildungssystem
US4622632A (en) * 1982-08-18 1986-11-11 Board Of Regents, University Of Washington Data processing system having a pyramidal array of processors
US4727474A (en) * 1983-02-18 1988-02-23 Loral Corporation Staging memory for massively parallel processor
US4682160A (en) * 1983-07-25 1987-07-21 Harris Corporation Real time perspective display employing digital map generator
US4590569A (en) * 1983-10-14 1986-05-20 Navigation Sciences Inc. Navigation system including an integrated electronic chart display
US4583185A (en) * 1983-10-28 1986-04-15 General Electric Company Incremental terrain image generation
US4625290A (en) * 1983-11-02 1986-11-25 University Of Florida Apparatus and method for producing a three-dimensional display on a video display device
US4694404A (en) * 1984-01-12 1987-09-15 Key Bank N.A. High-speed image generation of complex solid objects using octree encoding
US4685070A (en) * 1984-08-03 1987-08-04 Texas Instruments Incorporated System and method for displaying, and interactively excavating and examining a three dimensional volume
US4847788A (en) * 1985-03-01 1989-07-11 Hitachi, Ltd. Graphic data processing method and system
US4641255A (en) * 1985-05-22 1987-02-03 Honeywell Gmbh Apparatus for simulation of visual fields of view
SE445154B (sv) * 1985-07-08 1986-06-02 Ibm Svenska Ab Metod for att avlegsna dolda linjer
US4805121A (en) * 1986-05-30 1989-02-14 Dba Systems, Inc. Visual training apparatus

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE10016765A1 (de) * 2000-04-04 2001-10-11 Abb Patent Gmbh System und Verfahren zur Generierung hybrider 2D/3D-Darstellungen von Prozeßzuständen auf einem Flughafenvorfeld

Also Published As

Publication number Publication date
TR24581A (tr) 1991-11-27
TR24961A (tr) 1992-07-29
WO1988002156A2 (en) 1988-03-24
TR24757A (tr) 1992-03-09
IL83616A (en) 1992-11-15
EP0499874A3 (en) 1992-10-28
ES2007713A6 (es) 1989-07-01
EP0513474A1 (de) 1992-11-19
EP0282504A1 (de) 1988-09-21
KR880701922A (ko) 1988-11-07
IL97422A0 (en) 1992-06-21
EP0499874A2 (de) 1992-08-26
IL97421A0 (en) 1992-06-21
EP0282504B1 (de) 1992-10-07
WO1988002156A3 (en) 1988-08-25
DE3782160D1 (de) 1992-11-12
CA1299755C (en) 1992-04-28
CA1282173C (en) 1991-03-26
US5317689A (en) 1994-05-31
JPH01501178A (ja) 1989-04-20

Similar Documents

Publication Publication Date Title
DE3782160T2 (de) Digitales simulationssystem zur erzeugung von realistischen szenen.
DE68928391T2 (de) Bildgenerator
US6747649B1 (en) Terrain rendering in a three-dimensional environment
Weinhaus et al. Texture mapping 3D models of real-world scenes
US4667190A (en) Two axis fast access memory
DE102009041431B4 (de) Fahrsimulationsvorrichtung, Weitwinkelkamera-Videosimulationsvorrichtung und Bilddeformierungs-/-zusammensetzungsvorrichtung
US4835532A (en) Nonaliasing real-time spatial transform image processing system
DE102019103059A1 (de) Hieb- und stichfester Strahl-Dreieck-Schnittpunkt
US4645459A (en) Computer generated synthesized imagery
DE102019102821A1 (de) Verfahren zur behandlung von ungeordneten opak- und alphastrahl/primitiv-schnittpunkten
DE102019103058A1 (de) Verfahren für fortgesetzte begrenzungsvolumenhierarchietraversierung auf schnittpunkte ohne shader-intervention
DE102019103326A1 (de) Robuste, effiziente multiprozessor-koprozessor-schnittstelle
DE102019103336A1 (de) Verfahren zum effizienten gruppieren von cache-anforderungen für datenpfad-scheduling
Yan Advances in computer-generated imagery for flight simulation
DE3022454A1 (de) Optisches abbildesystem mit computererzeugtem bild fuer einen bodenfesten flugsimulator
DE69120407T2 (de) Bildgenerator
DE69125534T2 (de) 3-D-Wetterdarstellung für digitale Geländeradarsimulation
EP1716543A1 (de) Vorrichtung zur photorealistischen darstellung von dynamischen komplexen dreidimensionalen szenen mittels des ray-tracing verfahrens
DE69531536T2 (de) Synthetisches bilderzeugungsverfahren mit sphärischem puffer
DE102019118838A1 (de) Virtuelle photogrammetrie
DE102020108526A1 (de) Adaptive pixelabtastreihenfolge für zeitlich dichtes rendern
EP0100097B1 (de) Rechnergesteuertes Abbildungssystem
DE112019001978T5 (de) Verbesserung des realismus von szenen mit wasseroberflächen beim rendern
DE3854619T2 (de) Quadratische interpolation zur schattierten bilderzeugung.
EP0313101A2 (de) Fraktionierte Pixelabbildung in einem rechnergesteuerten Abbildungssystem

Legal Events

Date Code Title Description
8364 No opposition during term of opposition
8339 Ceased/non-payment of the annual fee