DE3485846T2 - Videoobjekt-generator. - Google Patents

Videoobjekt-generator.

Info

Publication number
DE3485846T2
DE3485846T2 DE8484109751T DE3485846T DE3485846T2 DE 3485846 T2 DE3485846 T2 DE 3485846T2 DE 8484109751 T DE8484109751 T DE 8484109751T DE 3485846 T DE3485846 T DE 3485846T DE 3485846 T2 DE3485846 T2 DE 3485846T2
Authority
DE
Germany
Prior art keywords
pixel
cell
address
detail
data
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 - Lifetime
Application number
DE8484109751T
Other languages
English (en)
Other versions
DE3485846D1 (de
Inventor
William Marvin Bunker
Jimmy Everett Chandler
Richard Economy
Fadden, Jr
Michael Paul Nelson
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.)
Intel Corp
Original Assignee
General Electric Co
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by General Electric Co filed Critical General Electric Co
Application granted granted Critical
Publication of DE3485846D1 publication Critical patent/DE3485846D1/de
Publication of DE3485846T2 publication Critical patent/DE3485846T2/de
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T15/003D [Three Dimensional] image rendering
    • G06T15/50Lighting effects
    • G06T15/80Shading

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Graphics (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Image Generation (AREA)
  • Controls And Circuits For Display Device (AREA)
  • Processing Or Creating Images (AREA)
  • Image Processing (AREA)

Description

    Hintergrund der Erfindung 1. Bereich der Erfindung
  • Diese Erfindung bezieht sich auf Computer- Bildgeneratorsysteme (CIG) und insbesonders auf einen verbesserten Videoobjekt-Generator zum Einsatz in Echtzeit- Bildsystemen.
  • 2. Beschreibung des Stands der Technik
  • Es sind Simulatoren für verschiedene andere Trainingsaufgaben als die traditionellen Aufgaben wie Start und Landung und Luft-Boden Waffennachschub beschrieben worden. Für einige dieser neuen Aufgaben reicht das heutige Niveau der Szenenrealität nicht aus. Beispielweise erfordert das Helikopterpilotentraining für kurzeitige Bodenberührung, daß der Pilot in einigem Abstand von einem Baum oder einem anderen Hindernis startet, daß er einen Punkt in einem Meter Abstand, gemessen von der Spitze der Rotorblätter zum Baum, anfliegt, und diese Position beibehält. Für ein effektives Training von Fluganforderungen dieser Art müssen für den Piloten realistische Bilder des Baumes erzeugt werden. Systeme nach dem Stand der Technik waren nicht imstande hinreichend detaillierte Bilder in Echtzeit für solche Anwendungen zu liefern.
  • Ein System nach dem Stand der Technik ist in der US- A- 4,343,037 offenbart, das am 3. August 1982 an Bolton erteilt und an Redifon Simulation Limited übertragen wurde. Dort wird gemäß Zeilen 13-21 ein Texturmuster in einem Speicher abgelegt und für jedes Pixel entlang jeder Scanlinie wiedergewonnen (wieder ausgelesen). Wie im Patent ausgeführt, begrenzen die Speichergröße und Beschränkungen in der Zugriffszeit die vom System handhabbare Detailtreue.
  • In der Darstellung von Bildern sehr komplexer Objekte, wie z. B. Bäume, ist die Anzahl der Kanten und Texturmuster für die Erzeugung eines realistischen Bildes prohibitiv hoch für ein Echtzeitsystem.
  • Zusammenfassung der Erfindung
  • Eine Aufgabe der vorliegenden Erfindung ist die Schaffung eines Computer-Bilderzeugungssystems, das komplexe Objekte in Echtzeit für die Darstellung auf einer Videoanzeige erzeugen kann.
  • Eine andere Aufgabe der vorliegenden Erfindung ist die Schaffung eines CIG-Systems zur Erzeugung realistischer Bilder von dreidimensionalen Objekten für eine Echtzeit- Videoanzeige.
  • Eine speziellere Aufgabe der vorliegenden Erfindung ist die Anwendung von Zelltexturierung, Detailstufenmischung, Durchsichtigkeitsmodulation, bilinearer Interpolation zur Glättung und Hochkant-Fading (Seitenansicht-Fading) bei Echtzeit CIG-Systemen.
  • Demgemäß enthält ein neuartiger Objektgenerator der vorliegenden Erfindung, wie beansprucht, einen Speicher zur Abspeicherung von Daten für jede Zelle eines Oberflächendefinierenden Texturmusters oder aktueller Objekte, Boards (Leiterplattenkarten) zur Berechnung des Durchsichtigkeitscodes, Speicher zum Abspeichern eines Transparenz- oder Durchsichtigkeitscodes und um mit diesen Codes auf einer Pixel-für-Pixel-Basis den Bildgenerator zu versorgen, Recheneinheiten zur Berechnung von Detailstufen, Detailmischungsstufen, von Seitenansicht-Fading und zur Texturglättung, um damit Abbildungen dreidimensionaler Objekte für die Computer-Bilderzeugung zu generieren.
  • Kurze Beschreibung der Zeichnungen
  • Die für neu und nicht offensichtlich erachteten Merkmale der Erfindung gegenüber dem Stand der Technik werden im Einzelnen in den beigefügten Ansprüchen ausgeführt. Die Erfindung selbst jedoch, ist, was ihren Aufbau, die Wirkungsweise, die beste Betrachtungsweise aus der Sicht des Erfinders betrifft, zusammen mit weiteren Aufgaben und Vorteilen am besten mit Bezug auf die nachfolgende Beschreibung mit den zugehörigen Zeichnungen zu verstehen, in denen sich die gleichen Bezeichnungen durchgängig auf die gleichen Elemente beziehen, und in denen:
  • Fig. 1 die schematische Darstellung des Verlaufs (Mapping) einer Pixelscanlinie auf einer zellentexturierten Ansicht (Fläche) ist;
  • Fig. 2 eine schematische Darstellung der Orientierung eines Satzes von Ebenen ist, auf die ein Bild des dreidimensionalen Objekts zum Zwecke der Computererzeugung eines Objekts für die Videoanzeige durch den Objektgenerator der vorliegenden Erfindung projiziert wird;
  • Fig. 3 ein Funktionsblockschaltbild ist, das die durch den neuartigen Objektgenerator der vorliegenden Erfindung ausgeführten Funktionen darstellt;
  • Fig. 4, 5, 6 und 7 schematische Blockschaltbilder zur Darstellung der Boards zur Berechnung der Pixelkoordinaten im Bezug zu den zelltexturierten Flächen sind;
  • Fig. 8 ein schematisches Blockschaltbild zur Darstellung des Vertikalinterpolator-Boards der vorliegenden Erfindung ist;
  • Fig. 9 ein schematisches Blockschaltbild zur Darstellung des Horizontalinterpolator-Boards der vorliegenden Erfindung ist;
  • Fig. 10 ein schematisches Blockschaltbild zur Darstellung des Boards ist, das die Berechnung der maximalen Gradientenänderung des Musters im Bildgenerator der vorliegenden Erfindung ausführt;
  • Fig. 11 ein schematisches Blockschaltbild zur Darstellung des Detailstufen-Rechners der vorliegenden Erfindung ist;
  • Fig. 12 ein schematisches Blockschaltbild zur Darstellung des Zellmapadressen-Rechners der vorliegenden Erfindung ist;
  • Fig. 13 ein schematisches Blockschaltbild zur Darstellung der Zellglättungsfunktion der vorliegenden Erfindung ist;
  • Fig. 14 ein schematisches Blockschaltbild zur Darstellung der Zellmischfunktion der vorliegenden Erfindung ist;
  • Fig. 15 ein schematisches Blockschaltbild zur Darstellung der Durchsichtigkeit/Modulation- Transformations-Berechnungseinrichtung der vorliegenden Erfindung ist;
  • Fig. 16 ein schematisches Blockschaltbild zur Darstellung der Steuerfunktion der Zelltexturdurchsichtigkeit der vorliegenden Erfindung ist; und
  • Fig. 17-20 Photographien sind, die die Bildeffekte der vorliegenden Erfindung darstellen.
  • Beschreibung der bevorzugten Ausführungsbeispiele
  • Die vorliegende Erfindung verwendet die Zelltextur als ein Konzept für die Erzeugung von Bildern durch Computerbilderzeugung. Jeder Punkt auf einer definierten Oberfläche im dreidimensionalen Raum kann durch die Werte von 2 Parametern spezifiziert werden. Auf einer ebenen Oberfläche könnten diese Parameter mit x und y bezeichnet werden. Punkte auf einer zylindrischen Oberfläche könnten durch die Werte z und R, und Punkte auf einer Kugel oder einem Elipsoid könnten durch R und φ definiert werden. In der vorliegenden Spezifikation werden wir Q&sub1; und Q&sub2; als Ursprungs-Parameterbezeichnungen verwenden.
  • Fig. 1 ist die Ansicht einer planaren Oberfläche mit den Parametern Q&sub1; und Q&sub2;. Eine Grundfarbe oder Modulationsinformation kann als Funktion von Q&sub1; und Q&sub2; betrachtet werden. Der funktionelle Zusammenhang kann eine quantitative Bearbeitung der Werte von Q&sub1; und Q&sub2; involvieren, und zwar entweder unter separater Verwendung von Q&sub1; und Q&sub2;, oder als Adresse zu einer Speichernachschlagetabelle zusammengefaßt, oder die Kombination dieser Techniken involvieren. In der einfachsten Betriebsform seien die ganzzahligen Anteile der Werte kombiniert und als Adresse für die Elemente der Zeichnung verwendet. Das ergibt eine unterschiedliche Adresse für jedes der kleinen Quadrate in Fig. 1, die im Folgenden als Zellen bezeichnet werden.
  • Fig. 1 zeigt auch die Bilder einer Pixelgruppe auf einer Scanlinie 30, die auf die Ansichtsfläche 32 projiziert ist, und die Zellen 34 enthält. In einer Zelltextur-Bearbeitungsmethode werden die Werte von Q&sub1; und Q&sub2; im Mittelpunkt eines jeden Pixels bestimmt, die Modulations- oder Farbinformation, die durch die Q&sub1; und Q&sub2; Kombination bestimmt ist, wird aus dem Computerspeicher, der zuvor mit der Modulations- oder Farbinformation für jede Ansichtsfläche eines Satzes von Objekten, die auf einer Videoanzeige zu zeigen sind, extrahiert, und diese Werte werden dann zur Bestimmung oder Modifizierung des Pixelsignals verwendet. Die Speicherinhalte können durch die Anwehdung einiger Algorithmen auf die Q&sub1;-Q&sub2; Werte auf dem Bild, eines in den Speicher zu ladenden Objektes, ermittelt werden, oder durch Digitalisierung von Photographien von Merkmalen von der darzustellenden Bereichen oder durch eine Kombination dieser Techniken. Die Ergebnisse dieser Bildbeschreibungstechniken werden dann in einem Speicher zum Wiederabruf oder zur Verwendung in der Computerbilderzeugung gespeichert. Eine derartige Behandlung von Objektbildern zur Computerbilderzeugung CIG wird Zelltexturierung genannt.
  • Die Mathematik zur Ermittlung des Auftreffpunktes eines Sichtstrahles auf einer parametrisch definierten gekrümmten Oberfläche ist ziemlich komplex, so daß ein hoher Hardwareaufwand für die Anwendung der Zelltextur auf solche Oberflächen in Echtheitssystemen notwendig ist. Für ebene Oberflächen sind die Werte von Q in Termen der Sichtfensterlage I, J, in der Form:
  • Q = P&sub0;+ C&sub1; + C&sub2;ΔI + C&sub3;ΔJ/C&sub4; + C&sub5;ΔI + C&sub6;ΔJ Gleichung 1
  • wobei P&sub0; und C&sub1;-C&sub6; vom Vektorprozessor geliefert werden, der die Koeffizientenwerte für die Zuordnung (Mapping) der Videoinformation von den Zellen zu den Pixeln in der darzustellenden Szene erzeugt. P&sub0; ist der Referenzwert, der, in Kombination mit C&sub1;-C&sub6;, die Position auf einem Ansichtsflächen-Berührungsstrahl durch einen Strahl durch die Pixel I, J bestimmt. Es existiert ein separater Satz von P&sub0; und C&sub1; und C&sub3; für jeden Parameter, d. h. zwei Sätze für die Zelltextur - einer für Q&sub1; und ein anderer für Q&sub2;. C&sub4;-C&sub6; sind für beide gleich.
  • Zähler und Nenner des Quotienten in Gleichung 1 sind jeweils in I und J linear und daher leicht durch Inkrementation auf neuen Stand zu bringen. Dies gilt auch für die ziemlich schwierige Aufgabe, einen hochpräzisen Quotienten für jedes Pixel oder Subpixel zu erhalten.
  • Erfolgreich wurde mit Zelltextur gearbeitet, wenn die Parameter sorgfältig so angepaßt waren, daß beide, Pixel und Texturzellen, klein in Relation zur Auflösung des Auges, in der Größenordnung von 2-3 Pixeln pro Zelle, sind. Wenn sich ein zelltexturiertes Objekt eines Videobildes vom Betrachter entfernt, verkleinern sich die Zellen relativ zu den Pixeln. Wenn die beiden Einheiten in der Größe vergleichbar sind, entstehen Moire'- Effekte, die besonders in Szenen, die sich dynamisch ändern, verwirren. Wenn sich die zelltexturierte Fläche in Richtung Seitenansicht zum Betrachter ändert, verkleinern sich die Zellen in der Größe einer Dimension, was auch zu Moire'- Effekten führt. Wenn zusätzlich ein Satz zelltexturierter ebener Ansichtsflächen zur Simulation eines Gegenstandes verwendet wird, der eine andere Form, als die durch die Oberflächen räumlich definierte, hat, kann eine Störung im gewünschten Bild auftreten, sobald sich die Ansicht einer Seitenansicht annähert. Die vorliegende Erfindung schafft Mittel zur Überwindung dieser Schwierigkeiten bei zelltexturierter Bilderzeugung.
  • In vielen Anwendungen, wie z. B. bei der Simulation von Bäumen, ist es erwünscht, daß der Umriß einer texturierten Oberfläche eines computererzeugten Bildes möglichst unregelmäßig ist und daß er sogar Bereiche innerhalb der Umrisses einer Oberfläche aufweist, wo man durch das Erscheinungsbild, das von der texturierten Fläche dargestellt ist, hindurchsehen kann. Obwohl dies theoretisch durch eine Definition des Umrisses und der inneren Durchsichtbereiche mit Kanten erreicht werden könnte, würde das eine so große Anzahl von Kanten erfordern, daß die Verarbeitung in der Computerbilderzeugung eines Echtzeitsystems nicht mehr praktikabel wäre. Die vorliegende Erfindung schafft eine praktikable Einrichtung, die in einem Echtzeit-Computerbilderzeugungssystem ein realistisches Bild eines Gegenstandes mit sehr unregelmäßigem Umriß und durchsichtigen Bereichen (Löchern) innerhalb des Umrisses handhaben kann.
  • Einige Anwendungen der Zelltextur erfordern die Aufteilung einer großen Fläche in Wiederholungen eines oder einer kleinen Anzahl individueller Bausteine. Für die Darstellung eines realistischen Bildes ist es eine wesentliche Voraussetzung, daß keinerlei Anzeichen dieser Bausteinaufteilung wahrgenommen werden können. Deshalb ist eine Technik zur Elimination jedweder Anzeichen von Bausteinumrissen in der Szene notwendig. Die vorliegende Erfindung verwendet eine Bausteinmischtechnik zur Darstellung großer Flächen, ohne irgendwelche sichtbaren Bausteinumrisse im Videobild zu erzeugen.
  • Zur Darstellung der Technik der vorliegenden Erfindung wird ein computergeneriertes Bild eines Baums gewählt, da zu vermuten ist, daß die Generierung eines realistischen Baums eine hohe Stufe an Bildkomplexität darstellt, und die Fähigkeit zur Generierung realistischer Bäume unentbehrlich für Trainingseinsätze ist, bei denen der Einsatz von Flugzeugen, wie Helikoptern, in der näheren Umgebung von Objekten, wie z. B. Bäumen, erforderlich ist.
  • Eine Form eines bildgebenden Modells 40 zur Erzeugung von Bildern dreidimensionaler Objekte besteht aus einem Satz von Flächen 42, 44, 46, 48, 50 und 52, die fächerförmig radial von einer gemeinsamen Achse 54, wie in Fig. 2 gezeigt, ausgehen. Diese Anordnung ermöglicht das Erscheinen aus allen horizontalen Richtungen, die eine Ansichtsfläche aufweisen, die nahezu senkrecht zum Sichtstrahl liegt, welches die Linie vom Auge des Beobachters zum anzuzeigenden Objekt ist. Das Bild des Baums ist in Form von Texturzellen, die auf die sechs Flächen von Fig. 2 projiziert sind, gespeichert, und wird nach den Erfordernissen des Bildgenerators als Antwort auf die Eingaben der Betrachtersteuerung wieder abgerufen oder dem Betrachter angezeigt. Die Abspeicherung der Bilddaten auf diese Art und die Berechnung der Koordinaten zur Benutzerorientation wird durch Hardware außerhalb des neuartigen Objektgenerators der vorliegenden Erfindung ausgeführt.
  • Eine wesentliche Modifikation der Zelltextur, die zur vorliegenden Erfindung geführt hat, war das Konzept eines Durchsichtigkeitscodes. Ein Datenwort aus dem Zellspeicher, das z. B. nur Nullen aufweist, wird nicht quantitativ interpretiert, sondern diese Zelle wird als durchsichtig angesehen. Das macht es möglich, daß sich der Umriß eines Gegenstands vom Umriß der Ansichtsfläche unterscheidet, auf der die Zelltextur den Gegenstand definiert, da die Zellen entlang der Ansichtsflächenumrisses als durchsichtig codiert werden können. Es wird dadurch ebenfalls möglich, offene Bereiche innerhalb des Ansichtsflächenbegrenzung zu haben, wie z. B. innerhalb eines Baumumrisses, und daß ein auf der Fläche hinter dem Baum sich befindendes Fahrzeug oder ein anderes Objekt, durch diese Öffnungen gesehen wird. Diese Fähigkeit kann zur Darstellung von Gegenständen mit extrem unregelmäßigen Umrissen, wie Bäumen, oder zur Darstellung von Gegenständen mit im wesentlichen rechteckigen Flächen, wie Fahrzeugen, eingesetzt werden, indem der Teil der Fläche außerhalb des Fahrzeugs als durchsichtig codiert wird. Die Baumbilder in den Photographien von Fig. 17 zeigen die Wirkung des Einsatzes eines Durchsichtigkeitscodes.
  • Variable Durchsichtigkeit
  • Ein anderes Schlüsselelement der vorliegenden Erfindung ist das Konzept einer variablen Durchsichtigkeit. Betrachtet sei eine Zelle in der Nähe eines Baumumrisses, die zur Hälfte durch ein Baumblatt und zur Hälfte durch den Himmel überdeckt ist. Eine direkte Digitalisierung dieser Zelle wird diese Zelle als sehr helles Grün ermitteln. Das ist akzeptabel, wenn die Zelle gegen den Himmel gesehen wird, aber sobald sich der Betrachter bewegt, kann es sein, daß das Blatt gegen den Hintergrund eines anderen Baumes oder gegen den Boden gesehen wird. Dann wird, sofern nicht eine Farbänderung eintritt, der Baum einen unnatürlichen Lichthof aufweisen. Mit dem Konzept der Durchsichtigkeit wird der Baumblattzelle ein normales Baumgrün mit 50% Durchsichtigkeit zugeordnet, d. h. nur die Hälfte des Farbinhalts der Zelle ist das Baumgrün. Gegen den Himmel gesehen, wird die Zelle ein sehr leichtes Blaugrün am Umriß hervorrufen, da die Hälfte der Zellfarbe das Himmelsblau ist. Gegen den Boden gesehen, wird die Zelle ein dunkles Bräunlich-Grün, die Kombination des normalen Baumgrüns mit 50% Durchsichtigkeit und des Erdbrauns des Hintergrunds aufweisen. Die variable Durchsichtigkeit erlaubt auch die Darstellung anderer visueller Effekte, wie z. B. Rauch im Bereich von undurchsichtig bis kaum sichtbar.
  • Seitenansicht- Fading
  • Wenn sich, wie oben beschrieben, die Ansichtsflächen der Orientierung einer Seitenanschicht annähern, werden durch nicht verfeinerte Texturtechniken verwirrende und unrealistische Effekte erzeugt. Die vorliegendende Erfindung schafft eine Technik zur Überwindung dieses Problems, indem zur Bildverarbeitung ein Seitenansichts- Fading hinzugefügt wird. Sobald sich der Winkel zwischen einer Ansichtsebene (siehe Fig. 2) und dem Sichtstrahl verkleinert, wird die gesamte Ansicht graduell in Richtung Durchsichtigkeit angepaßt. Die Sättigung verkleinert sich mit dem Winkel, bis bei einem kleinen Endwinkel die Ansicht komplett durchsichtig ist und nicht mehr weiter bearbeitet wird. In einer dynamischen Testfolge wurde ermittelt, daß bei einem Fadingstart bei einem Blickwinkel von 36º und bei einer Auslöschung der Ansicht bei 18º ein realistisches Bild ohne die Artefakte des Seitenansichts-Fadings erzeugt wird. Andere Winkel können ebenfalls verwendet werden, solange das Fading in einer Weise durchgeführt wird, daß der Benutzer keine Artefakte sieht. Dieses bewirkt eine graduelle Auslöschung der Bildansicht, sobald sie sich der Seitenansichtlage annähert, so daß die verwirrenden und unrealistischen Effekte bei Anblick des Bildes in der Seitenansichtslage verschwinden. Fig. 17 und 18 stellen den Bildeffekt des Seitenansichts-Fadings dar. In Fig. 17 erscheinen keine Seitenansichts-Ebenen, aber in Fig. 18 sind die Ebenen 49 klar zu sehen. Diese Ebenen 49 setzen die Realität eines Baumbildes deutlich herab.
  • Detailstufen
  • Eine andere Schlüsseleigenschaft der vorliegenden Erfindung ist die Detailstufen-Verarbeitung. Wenn der -Abstand zu einer zelltexturierten Ansicht in der Größenordnung liegt, daß die Zellgröße ungefähr gleich der Pixelgröße ist, können Scintillations- und Moire'-Effekte auftreten. Die vorliegende Erfindung überwindet dieses Problem durch die Steuerung der Zellgrößen in Abhängigkeit von der Pixelgröße in jeder linearen Dimension. Ein spezielles Ausführungsbeispiel der vorliegenden Erfindung verfügt über einen Satz von neun Detailstufen (LOD's), der von der höchsten Detailstufe (LOD 0) mit 256*256 Zellen und einer linearen Dimension jeder Zelle von ca. 4 cm (0,125 ft) bis zu einer Detailstufe (LOD 9), mit einem einzigen Wert für die Map, reicht. Tabelle 1 zeigt einen typischen Satz von Detailstufen mit den entsprechenden Zellgrößen, wie sie in einem speziellem Beispiel der vorliegenden Erfindung verwendet werden; diese Werte dienen nur als Beispiel, während die Zellgrößen durch den Benutzer in jeder gewünschten Größe ausgewählt werden können.
  • Tabelle 1
  • LOD 0 = 256*256 Zellen, jede 4 cm*4 cm pro Zelle
  • LOD 1 = 128*128 Zellen, jede 8 cm*8 cm pro Zelle
  • LOD 2 = 64*64 Zellen, jede 16 cm*16 cm pro Zelle
  • LOD 3 = 32*32 Zellen, jede 32 cm*32 cm pro Zelle
  • LOD 4 = 16*16 Zellen, jede 64 cm*64 cm pro Zelle
  • LOD 5 = 8*8 Zellen, jede 128 cm*128 cm pro Zelle
  • LOD 6 = 4*4 Zellen, jede 256 cm*256 cm pro Zelle
  • LOD 7 = 2*2 Zellen, jede 512 cm*512 cm pro Zelle
  • LOD 8 = 1*1 Zellen, jede 1024 cm*1024 cm pro Zelle
  • LOD 9 = Unsichtbar (zu weit weg)
  • LOD 8 mit Zellen von 1024 cm*1024 cm scheint schon eine fast bedeutungslose Größe aufzuweisen, aber diese LOD wird zur Abbildung von Objektansichten eingesetzt, die in solchen Abständen vom Betrachter gezeigt werden, daß eine Zelle nur ein oder zwei Pixel enthält und eine Ansicht nur ein Paar Zellen enthält und größere Details auf diese Entfernung auch nicht gesehen werden könnten, selbst wenn der Bildgenerator sie definieren würde.
  • Übergänge von einer LOD auf die andere werden in einer Entfernung zum Betrachter ausgeführt, daß sie kaum mehr unterscheidbar sind. Die Natur des menschlichen Wahrnehmungssystems ist jedoch so beschaffen, daß sogar sehr leichte Differenzen wahrgenommen werden, wenn sie abrupt auftreten. Die vorliegende Erfindung überwindet diese Schwierigkeit durch den Einsatz einer LOD-Mischung, die einen graduellen Übergang von einer LOD zur nächsten schafft. Die Berechnung zur Auswahl der einzusetzenden LOD für eine beliebige Spanne auf der Anzeige ergibt einen ganzzahligen Zahlenterm und einen Bruchterm. Der Bruchterm wird als Alpha-Term bezeichnet. Er bezeichnet die Anteile zweier nebeneinanderliegender Detailstufen, die im Mischvorgang einzusetzen sind; folglich wird dieser Vorgang als LOD-Alpha-Mischung bezeichnet.
  • Die Wirkung des Einsatzes dieser LOD-Übergangstechnik ist in der Photographie in Fig. 17 dargestellt. Die Reihe zeigt Bäume aufzunehmenden Abständen, und deckt damit eine Anzahl von LOD's mit einer Vielfalt von Alpha-Werten ab. Wie man erkennen kann, ist die erwünschte Wirkung der LOD- Alpha-Mischung, d. h. die graduelle Änderung in dem gezeigten Bilddetail, gut dargestellt. Der Baum 41 ist mit wesentlich mehr Details als der Baum 43 gezeigt, aber der Punkt des LOD-Übergangs ist nicht erkennbar. Die gleiche Realitätstreue zeigt sich auch in dynamischen Sequenzen mit keinerlei Anzeichen von Szintillation oder LOD-Übergängen.
  • Zellglättung
  • An den Umrissen der Bildzellen muß etwas Glättungstechnik eingesetzt werden, um das Erscheinen von Zellkanten innerhalb des gezeigten Objektbildes zu minimieren. Betrachten wir ein Pixel, das etwas kleiner ist als eine Zelle, d. h. Pixel 36 in Fig. 1. Sobald sich das Pixel 36 über eine gegebene Zelle 38 schiebt, bekommt das Pixel den Intensitätswert dieser Zelle. Sobald Pixel 36 die Grenze zur nächsten Zelle 39 überschreitet, ändert es seinen Intensitätswert auf den der Zelle 39 und behält diesen Wert bei, solange es sich über diese Zelle bewegt. Das Glätten der Texturzellen in der vorliegenden Erfindung ergibt einen graduellen Übergang, wie unten beschrieben. Nehmen wir an, daß der Mittelpunkt eines Pixels mit dem Mittelpunkt einer Zelle zusammenfällt. Das Pixel wird die Intensität dieser Zelle annehmen. Wenn das Pixel beginnt, sich parallel zu einer Linie von Zellen nach rechts zur nächstliegenden Zelle zu bewegen, nimmt es als Intensität die Kombination dieser zwei Zellen an, sogar dann, wenn das Pixel noch als Ganzes in der ersten Zelle enthalten ist. Die Intensität ändert sich graduell in dem Maße, wie das Pixel die Zellgrenze erreicht, und wenn das Pixel den Mittelpunkt der zweiten Zelle erreicht, nimmt es die Intensität dieser Zelle an. In einem zweidimensionalen Falle wird dies durch eine bilineare Interpolation erreicht. Die vier Zellen, deren Mittelpunkte ein Polygon definieren, das den Mittelpunkt eines Pixels enthält, werden identifiziert. Die Pixelintensität wird aus den Werten der Vier-Zellintensität berechnet, wobei die Wichtung von der Lage des Pixelmittelpunktes relativ zu den Zellmittelpunkten abhängt. Diese Technik eliminiert das Problem, daß Texturzellenumrisse verwirrende Artefakte bei dynamisch projizierten Bildern erzeugen. Die Wirkung ist in Fig. 19 und 20 gezeigt. In Fig. 19, mit "Fläche mal Farbe"- Verarbeitung, sind die Zellen 45 des Bildes noch ganz gut sichtbar. In Fig. 20 mit bilinearer Interpolation können die Zellen sogar bei sehr kleinem Abstand, wie bei 47 gezeigt, nicht mehr gesehen werden.
  • Bausteinmischung
  • Wenn ein rechteckiges Zellmuster (Zellmap) limitierter Größe zur Überdeckung einer größeren Fläche mehrfach in einer oder zwei Dimensionen wiederholt wird, so wird dieses Verfahren als "Tiling" ("Mauern") bezeichnet. Folglich wird die rechte Begrenzung eines Musters an die Kopie der linken Begrenzung anstoßen, und die untere Begrenzung wird an die Kopie einer oberen Begrenzung anstoßen. Innerhalb des Musters zeigen die Zellen einen gleichmäßigen Verlauf, so daß der Zelle-zu-Zelle Kontrast niedrig ist und nur ein sehr begrenzter Anteil einer hohen Raumfrequenz auftritt. Wenn die Grenzen, wie oben beschrieben, aneinanderstoßen, entstehen im allgemeinen Bereiche mit hohem Kontrast und hohem Raumfrequenzanteil. Die Abgrenzungen sind auf der zusammengesetzten Oberfläche natürlich überflüssig, da sie ein künstliches Aussehen erzeugen.
  • Dieses Problem wird durch Anpassung des Zellmusterinhalts gelöst, um eine Filterung an den Begrenzungslinien zu erreichen. Als Beispiel möge die am weitesten rechts liegende Zelle jeder Zellreihe einen Wert gleich 55% ihres Originalwerts plus 45% des Wertes der am weitesten links liegenden Zelle aufweisen. Die zweite Zelle von rechts wird auf 65% ihres Originalwertes plus 35% des Wertes der zweiten Zelle von links geändert. Bei Fortsetzung wird die fünfte Zelle von der rechten Grenze aus 95% ihres Originalwertes plus 5% des Wertes der fünften Zelle von links aufweisen, und Zellen links von ihr werden ihren Originalwert beibehalten. Dieselbe Abstufung wird natürlich auch auf eine Zellgruppe entlang der linken Begrenzung angewandt. Das Ergebnis ist ein Mischungseffekt (Überblendung), der die Zellgrenzen von anderen Bildteilen der entstehenden Anzeige nicht mehr unterscheidbar macht. Bei Anwendung des Tilings in zwei Dimensionen wird ein ähnliches Überblenden auf die oberen und unteren Begrenzungen angewandt. Die aktuelle Größe der Zellgruppen, auf die die Überblendung angewandt wird, wird so angepaßt, daß man das beste Resultat für den spezifischen Inhalt jeden Musters erhält. In Fällen, bei denen sehr starke Differenzen zwischen den angrenzenden Zellmustern auftreten, kann die interaktive Eingriffsmöglichkeit zur Erzielung optimaler Resultate eingesetzt werden.
  • Hardware Blockschaltbild
  • Ein Blockschaltbild des neuartigen Videoobjekt- Generators 100 der vorliegenden Erfindung ist in Fig. 3 dargestellt. Vom Vektorprozessor 102 aus werden die Bilddaten eingegeben, Operatoreingaben werden von den Bedienersteuerungen (nicht dargestellt) bereitgestellt. Die Bilddaten enthalten Farb- und Texturinformation für jede Objektansicht in der darzustellenden Szene. Die Eingangsdaten werden in den Eingangsspeichern 104 zur Weiterführung an den neuartigen Objektgenerator aufgenommen. Die Speicher 104 sind im digitalen Datenbereich doppelt gepuffert (Ping-Pong-Verfahren), so daß der Datenwert eines aktuellen Feldes ausgelesen werden kann, während gleichzeitig die Daten des nächsten Feldes in die Speicher 104 geladen werden. Die Eingangspeicher 104 sind mit ausreichender Speichertiefe (d. h. 4K) ausgestattet, um alle Ansichtsdaten, die in einem Kanal eines gegebenen Feldes auftreten können, halten zu können. Die konventionellen Vektorberechnungen zur Transformation der Musterkoeffizienten der Ansichten in der Szene in die korrekte 3-D Perspektive des Betrachterstandpunkts werden durch den Vektorprozessor ausgeführt und an den neuartigen Objektgenerator übergeben. Der Standpunkt und Steuereingaben des Operators werden zur Bestimmung der Objektbilder benutzt, die für die Darstellung auf einer speziellen Videoanzeige bearbeitet werden müssen. Die vorliegende Erfindung bearbeitet die Bilddaten der Objekte, die sichtbar sein sollen.
  • Die Boards 106-109 berechnen den durch Gleichung 1 definierten Q-Wert. Nach der Berechnung der Q-Werte jeder Spannenecken jeder Spanne einer Videoszene wird eine bilineare Interpolation zur Ermittlung der Q-Werte für jedes individuelle Pixel durchgeführt. Die bilineare Interpolation wird über die Kombination vertikaler Interpolatoren 110, 112, 114 und 116 und horizontaler Interpolatoren durchgeführt. Die Ausgangsdaten der horizontalen Interpolatoren sind die Eingangsdaten für die Zellmap-Adressenboards 122, 124, 126 und 128, die dann die Adressen für den Zugriff auf die Zelltexturmaps 130, 132, 134 und 136 berechnen. Die Zelltexturmaps enthalten Zelltexturdaten für jede Zelle des Bildes. Die X und Y Q- Werte von werden kombiniert, um die Map-Adresse für jede der vier Zellen zu bilden, deren Mittelpunkte ein Polygon um den Pixelmittelpunkt bilden. Die Form der Zellmap kann zu 1024*64, 512*128, oder 256*256 Zellen mit einem Ansichtssteuerungs-Flag gewählt werden. Jede Map-Form erfordert 64kB Datenspeicher. Vier Kopien der Map werden zur Ausführung einer Zellglättung benötigt. Die Map-LOD's werden zur Steuerung der Zellgröße in Abhängigkeit zur Anzeigepixelgröße eingesetzt, ohne den Abstand des Sichtstrahls zum Szenengegenstand zu berücksichtigen. Jede unterschiedliche LOD-MAP wird mathematisch generiert durch Filterung einer detaillierteren Kopie in eine 1/4 kleinere Map. Folglich wird eine 256*256 Map zu einer 128*128 und dann zu einer 64*64 Mapgröße usw., wenn sich der Sichtabstand zum Gegenstand vergrößert.
  • Insgesamt werden 86K Speicherbereich für die LOD Zellspeicher 130, 132, 134 und 136 benötigt, um alle verschiedenen LOD-Versionen der Maps zu speichern. Die Mapspeicherung ist so organisiert, daß die N'te und die N+1'te LOD-Mapversion gleichzeitig verfügbar sind, um so einen glatten LOD-Übergang zwischen den beiden Stufen zu erreichen. Die Ermittlung der einzusetzenden LOD wird durch Überwachung beider X und Y Mustergradienten in der Sichtebene durchgeführt. Dieses wird durch eine Hardwareschaltung für Fließkommasubtraktion in den Grundzahl-Rechnern 106-109 gesteuert. Der Fließkommaexponent für die stärkste Musteränderung selektiert die anzuwendenden N und N+1 LOD's.
  • Die Ausgangssignale der Zellspeicher 130, 132, 134 und 136 werden an die Zellglättungsboards 138, 140, 142, 144 weitergeleitet. Die Zellglättungsboards empfangen auch Eingangssignale von den Horizontalinterpolatoren, die für die Berechnung des Eingangsintensitätsanteils der vier ein gegebenes Pixel umgebenden Zellen eingesetzt werden. Diese Berechnung ergibt einen Koeffizienten für jede der Zellintensitäten zur Steuerung der Pixelintensität.
  • Die vier benachbarten, ein Sichtpixel umgebenden Zellen werden aus dem Speicher ausgelesen und in den Zellglättungsboards 138, 140, 142 und 144 gemäß folgender Gleichung berechnet:
  • M = Mxy*(1-f(x))*(1-f(y)) + Mxy1*(1-f(x))*(f(y)) + Mx1y*(f(x))*(1-f(y)) + Mx1y1*(f(x))*(f(y)) Gleichung 2
  • wobei Mxy, Mxy1, Mx1y und Mx1y1 den Inhalt der vier Zellspeicher darstellen, die das Sichtpixel umgeben. Jede der f Zahlen stellt die Bruchanteilbits der Zahl Q dar, die nach der LOD-Adressverschiebung übrigbleiben. Diese Bits sind ein direktes Maß für den Abstand zwischen dem Mittelpunkt eines Sichtpixels zu den Mittelpunkten der umgebenden Zellen. Zur Steuerung der Zellglättung an allen vier Ecken der Zellmap sind Logikschaltkreise in der Überblend-Hardware vorhanden. Jede der N und N+1 LOD-Maps muß mit getrennter Hardware überblendet werden. Nach der Zellglättung werden die zwei verschiedenen LOD-Modulationen zusammengemischt. Dieses LOD-Mischen wird in den Boards 146, 148, 150, 152 durchgeführt. Bruchanteile von Gradientenbits werden zur Bildung eines Alpha-LOD- Mischkoeffizienten für die Kombination der zwei LOD- Mapversionen wie folgt herangezogen:
  • M = α*M(N+1) + (1-α)*M(N) Gleichung 3
  • An dieser Stelle ist die Berechnung der Zelltextur abgeschlossen. Der Wert der Zelltextur wird nun sowohl für die Steuerung der Ansichtsdurchsichtigkeit als auch für die Modulation der Ansichtsfarbe durch die Durchsichtigkeits/Modulations-Boards 154, 156, 158, 160 transformiert. Die Ausgangssignale der Durchsichtigkeits/Modulations-Boards werden zum Spannenprozessor 162 zur Steuerung des zu erzeugenden Bildes geführt.
  • Die individuellen Boards eines bevorzugten Ausführungsbeispiels des neuartigen Videoobjekt-Generators werden jetzt im Detail beschrieben. Verständlicherweise ist die Anzahl der Bits, die in den Figuren gezeigt und im Folgenden beschrieben wird, zum Zwecke der Handhabbarkeit und nicht mit der Absicht einer Einschränkung ausgewählt. Wie in Fig. 4 gezeigt, empfängt das I, J Rechnerboard 170 die Spanne I 172- und die Spanne J 174-Adressendaten vom Spannenprozessor. "Spanne I" und "Spanne J" werden zum "Inkrement I" 176 bzw. "Inkrement J" 178 durch die Addierer 180, 182 addiert, um die Spannenadressen an den vier Ecken der Spanne zu berechnen. Die resultierenden Werte werden zum "I Offset " 184 bzw. "J Offset" 186 durch die Addierer 188, 190 addiert, um "ΔI" 192 und "ΔJ" 194 zu erzeugen, die zur Berechnung des Q-Wertes eingesetzt werden. Um zum Mittelpunkt des Pixels zu gelangen, muß 0.5 zu "ΔI" und "ΔJ" hinzuaddiert werden. Folglich wird ein Pullup 196 (Hochziehwiderstand) für das LSB (niederwertigste bzw. least significant Bit) eingesetzt. Das I,J Rechnerboard 170 empfängt als Eingang den Standarddaten-Terminalbus 198, der als Testbus des Systems eingesetzt wird. Das FPLA-Register 200 empfängt am Eingang Standardaten-Terminalcode 202 als Schnittstelle des Bedienerboards zum Standarddaten- Terminalwort (SDT) 204, um eines der sechzehn Testworte zu selektieren, ein SDT Lesen-Freigabe Eingangssignal 206, in der Form einer vom SDT kommenden Steuerleitung, um anzuzeigen, daß der aktuelle Testzyklus ein Lesezyklus ist, und ein SDT Schreiben-Freigabe Eingangssignal 208, in der Form einer vom SDT kommenden Steuerleitung, um anzuzeigen, daß der aktuelle Testzyklus ein Schreibzyklus ist. Das "Spanne I" Eingangssignal 172 liefert die Spanne 1-Adresse und das "Spanne J" Eingangssignal 174 liefert die J-Adresse für den Spannenprozessor. Ein Spannentakteingangssignal 210 liefert ein zum Spannenprozessor synchrones Taktsignal. Das Takteingangssignal 212 wird vom Systemreferenztakt bereitgestellt. Die Spannenimpulseingänge 214 sind "Freigabe"-Signale, die während der gesamten Dauer eines Taktzyklusses aktiv hoch sind, um das Board für die Verarbeitung eines speziellen Spannen-Datensatzes zu aktivieren. Es werden acht Taktzyklen für die Berechnung jeder Spanne durch den Spannenprozessor benötigt. Der Rechner für die Berechnung des ganzzahligen Anteils der Zelltextur benötigt vier Taktzyklen zur Berechnung des Q- Wertes an den vier Ecken der Spanne für Muster X, und vier zusätzliche Taktzyklen Y zur Berechnung des Q-Wertes an den vier Ecken der Spanne für Muster Y. Das Blockschaltbild zeigt die angewandte Reihenfolge in der Berechnung der acht Q-Werte. Die Musterwerte der Zelltextur werden bei jeder Inkrementation der Spanne in jeder Achttakt-Zykluszeit berechnet.
  • Der duale Fließkomma-Multiplizierer und -Addierer 220 in Fig. 5 wird zur Multiplikation von zwei Paaren 22-Bit Fließkommazahlen eingesetzt, die die Ansichtskoeffizienten der Eingangsspeicher durch die ΔI und ΔJ Ausgangssignale des I, J Rechnerboards 170 repräsentieren. Die zwei Ergebnisse 233, 239 werden addiert, um eine 22-Bit Fließkommazahl zu erhalten. Folglich entspricht die auf diesem Board implementierte arithmetische Operation der Gleichung 4 wie folgt:
  • ADD OUT = (Xa*Ya) + (Xb*Yb) Gleichung 4
  • wobei alle Variablen 22-Bit Fließkommazahlen sind. Der Multiplizierer enthält einen 16-Bit Multipliziererchip 222, der die Signifikanden(Basiszahlen) 221, 223 der Eingangsvariablen verarbeitet. Die Exponenten 225, 227 werden mit Hilfe des Addierers 224 addiert. Ein zweiter Multiplizierer 226 multipliziert die Signifikanden der Eingangsvariablen Xb 235 und Yb 237, und ein zweiter Addierer summiert die Exponenten von Xb und Yb. Die Ausgangssignale 233, 239 des Multiplizierers und Addierers sind die Eingangssignale für den Fließkomma-ALU-Chip 228, der als Fließkommaaddierer eingesetzt wird. Das Ausgangssignal des Fließkommaaddierers 228 wird zu einem Verzögerungsregister 230 geführt, um als dessen Ausgangssignal 240 zum Zweifach-Fließkomma-Addierer und Multiplizierer 232 in Fig. 6 geführt zu werden. Der Zweifach-Fließkomma-Addierer und Multiplizierer erhält Takteingänge zur Synchronisation der Timingsignale mit dem Spannenprozessor, und Referenztakteingänge zur Synchronisation des Multiplizierers und Addierers mit dem Referenztakt. Die TEST IN- 234 und TEST OUT- 236 Signale sind zusammen mit dem Testeinfügungssignalen am FUNCTION SELECT 238 Eingang Testeingangs- und Testausgangssignale, die einen Boardtest während des Systembetriebs ermöglichen, aber sonst keinen weiteren Einfluß auf den Betrieb des Systems haben.
  • Das Ausgangssignal 240 des Zweifach-Fließkomma- Addierrer und Multiplizierer 220 wird zum Zweifach- Fließkomma-Addierer und Multiplizierer 232, wie in Fig. 6 dargestellt, als Exponenteneingangssignal 244 und Significandeneingangssignal 246 geführt. Addierer 242 addiert die Startkoeffizienten der Texturansicht zu den ΔI und ΔJ angepaßten Texturansichtskoeffizienten, um eine 22- Bit Fließkommazahl zu erzeugen. Der A-Fließkommaaddierer 232 wird für die Zählerberechnung von Gleichung 1 eingesetzt. Der B-Fließkommaaddierer 241 wird für die Nennerberechnung von Gleichung 1 eingesetzt, und das Ausgangssignal 243 wird über das Board hinaus zur Speichernachschlagetabelle für den Reziprokwert geführt, bevor er wieder zurück an die C Addierereingänge 252, 258 gebracht wird. Der Multiplizierer 248 multipliziert die 16- Bit Significanden Eingang 250, 252 und Addierer 254 summiert die 6-Bit Significandeneingänge 250, 252 und Addierer 254 summiert die Exponenteneingänge 256, 258, um Q von Gleichung 1 als 23-Bit Ausgangswert zu erhalten, der einen 16-Bit Significanden 260 und einen 7-Bit Exponenten 262 umfaßt.
  • Der Fließkomma-zu-Festkomma Umwandlungsrechner 264 in Fig. 7 konvertiert den Fließkomma-Q-Wert 260, 262, wie er vom Fließkomma Addierer und Multiplizierer bereitgestellt wird, in eine 24-Bit Festkommazahl Q' 266. Der Fließkommawert Q ist mit der P&sub0;-Summierhardware 274 verbunden, die das P&sub0; Eingangssignal 276 vom Eingangsspeicher zum Q' Wert 266 hinzuaddiert. Zur Anpassung an die Erfordernisse des Pipeline-Timings wird der P&sub0;-Wert über zwei Halteregister 278, 280 verzögert, wobei jedes Halteregister vier Taktverzögerungen entspricht, damit das Ausgangssignal 282 synchron mit dem Spannenprozessor ist. Der Chip 248 speichert den Q-Wert des vorausgegangenen Zyklus' und subtrahiert den aktuellen Q- Wert vom vorausgegangen Q-Wert, um einen ΔQ-Wert zu erzeugen, der bei 286 mit jedem 8 Taktperioden-Zyklus ausgegeben wird. Dieses Board enthält auch eine Freigabelogik für den Speichereingang und -ausgang. Diese Logik ist in fünf Teilbereiche unterteilt. Die C2 und C3 Speicher werden während der Taktzyklen 2, 3, 4 und 5 für das X-Muster und während der Taktzyklen 6, 7, 0 und 1 für das Y-Muster freigegeben. Die P&sub0;-Speicher werden während Taktzyklen 3, 4, 5 und 6 für das X-Muster und während der Taktzyklen 7, 0, 1 und 2 für das Y-Muster freigegeben. Die C4, C5, C6 Speicher sind während aller Taktzyklen freigegeben. Der C1 Speicher ist über seinen Tristate- Ausgang mit dem Ausgang des Zweifach-Fließkomma-Addierer und Multiplizierers, der den Zähler von Gleichung 1 erzeugt, verbunden, und der C4 Speicher ist über sein Tristate-Ausgang mit dem Ausgang des Zweifach-Fließkomma- Addierers und Multiplizierers für die Berechnung des Nenners von Gleichung 1 verbunden. Demzufolge sind die entsprechenden Ausgangsfreigabesignale nur während der zweiten Hälfte eines jeden Taktzyklus' aktiv.
  • Der Vertikalinterpolator 290 in Fig. 8 empfängt einen normalen 24-Bit Q-Eingang 282 vom P&sub0; Addierer 274 in Fig. 7. Bei Beginn der Spanne wird der obere Q-Wert 292 vom unteren Q-Wert 294 durch Chip 296 subtrahiert und in 298 und 300 durch 4 dividiert. Der obere Q-Wert ist im Halterregister 302 gespeichert. Die Ausgangssignale der Register 302 und 300 werden durch den Addierer 304 addiert, um einen 24-Bit Inkrementationswert zu bilden, der einen Off set für jedes Inkrement der Spanne bereitstellt.
  • Das Ausgangssignal von Register 302 wird, wie bei 306 dargestellt, zum Addierer 308 hin ausgegeben, der den oberen Q-Wert mit dem ADD IN Eingangssignal 310 des Inkrementers des paarweise zugeordneten Vertikalinterpolatorboards (nicht dargestellt) summiert. Die Summe wird bei 312 durch 2 geteilt, um ein Ausgangssignal zu schaffen, das in Tristate-Technik mit dem Ausgangssignal von Register 302, wie bei 314 gezeigt, verbunden ist, um ein Q-vert-Adressenausgangsignal 316 zu erzeugen. Ein Satz von X-links, X-rechts, Y-links und Y- rechts Vertikalinterpolatorboards wird für das System benötigt. Ein Satz wird als linker Vertikalinterpolator und der andere Satz als rechter Vertikalinterpolator bezeichnet. Die Eingangsdaten für jedes Board werden in der Zeitperiode der Spannenverarbeitung vor der Ausgabe der Spanne geladen. Das X-links-Board empfängt Qij als den oberen Q-links-Wert und Qi8j als den unteren Q-links-Wert der Spanne. Das X-rechts-Board empfängt Qij8 als oberen Q- rechts-Wert und Qi8j8 als unteren Q-rechts-Wert. Das X- links-Board enthält einen Inkrementer mit der Arbeitssequenz Qij, Qi2j, Qi4j und Qi6j. Das rechte Board enthält einen Inkrementer mit der Arbeitssequenz Qij8, Qi2j8, Qi4j8 und Qi6j8. Diese Inkrementersequenzen werden alle vier Taktperioden und insgesamt zweimal innerhalb der Spanne wiederholt. Der Inkrementer auf jedem Board ist mit drei Punkten verbunden: mit einem Ausgangsaddierer, direkt mit einem Ausgangsregister, und ebenso mit der Rückseitenbusplatine (Backplane). Die Boards sind an der Rückseitenbusplatine so verbunden, daß das letzte Boardausgangssignal mit der in Tabelle 3 gezeigten Sequenz abläuft. Tabelle 3 Takt (CLK) LINKS RECHTS
  • Das Board stellt ein 23-Bit Ausgangssignal Q-vert 316 für den Horizontalinterpolator bereit.
  • Der Horizontalinterpolator 320 in Fig. 9 berechnet die Q-Werte der drei Zwischenpixel, wobei der Q-Wert auf der linken Seite des Spanneneingangs 316 von dem Vertikalinterpolatorboard 290 und der Q-Wert auf der rechten Seite des Spanneneingangs 318 von dem gepaarten Interpolatorboard geliefert wird. Die Eingangssignale 316 und 318 werden durch den Addierer 322 summiert, und die Summe 324 wird durch 2 bei 326 dividiert, um den Q-Wert für den horizontalen Mittelpunkt 328 zwischen Q-links und Q- rechts zu erhalten. Diese Schritte werden von den Addierern 330, 332 und den Dividierern 334, 336 zur Bildung der Adressen 338, 340 wiederholt, die entsprechend die Ein- Viertel- und Drei-Viertel-Adressen der bearbeiteten Spanne darstellen. Es gibt zwei Horizontalinterpolatorboards, eins für das X-Muster und eins für das Y-Muster. Das Q-links Eingangssignal 316 stellt den Q-Wert für die linke Seite des Spanneneneingangs des Vertikalinterpolators bereit, und das Q-rechts Eingangssignal 318 stellt den Q-Wert für die rechte Seite des Spanneneneingangs des Vertikalinterpolatorboards bereit. Der Horizontalinterpolator 320 berechnet drei Zwischenpixelwerte, die eine Zellmapadresse für den Zugriff auf den Texturmap- Speicher für jedes Pixel der Zelle ergeben Das ΔQ Max Rechnerboard 350, wie in Fig. 10 gezeigt, wird zur Ermittlung der maximalen Änderung des Mustergradienten zur Verwendung bei der Berechnung der Zelltextur LOD eingesetzt. Die ΔQ Eingangssignale 352, 354 stellen 6 Bits eines ΔQ Exponenten und 8 Bits eines ΔQ Significanden aus dem ΔQ Rechnerboard Fig. 7 bereit. Die Berechnung beginnt mit den Fließkomma ΔQ Eingangssignalen 352, 354. Dieses Eingangssignal wird bei 356, 358 in eine Größenform mit Vorzeichen konvertiert, damit Vergleiche effizienter ausgeführt werden können. Die X ΔQ's in den I- und J-Richtungen werden zuerst in die A-Register 360, 362 und in die B-Register 364, 366 zum Vergleich durch Komparator 368 getaktet. Der größere Wert von A oder B wird gewählt und auf die Hälfte (1/2) des kleineren Werts addiert. Die Fließkommaaddition beginnt mit der Subtraktion des kleineren Exponenten vom größeren Exponenten. Die Significanden werden in die Register 376, 378 geladen. In der nächsten Taktperiode wird der kleinere Significand um die Exponentendifferenz plus einer zusätzlichen Verschiebung 380 zur Berücksichtigung der 1/2 Addition nach unten verschoben. Der verschobene kleinere Significand 382 wird auf den größeren Significand 384 durch den Addierer 386 während der gleichen Taktperiode addiert. Vorkehrungen sind getroffen, daß ein Übertragsbit 388 den Referenz- (größeren) Exponenten 390 durch Addierer 392 anstößt. Eine Klemmschaltung bestehend aus Gatter 394 und Register 396 sorgt dafür, daß der Ergebnisexponent innerhalb eines 5- Bit-Bereichs bleibt. Das Übertragsbit (Carry) 388 wird zur Verschiebung des Significanden nach unten am Multiplexer 396 eingesetzt, damit eine richtige Skalierung gewährleistet ist. Das Board 350 ermöglicht drei identische Berechnungen zur Erzeugung von drei verschiedenen ΔQ Max Ausgängen, wobei der erste der Diagonalgradient für die X- und Y-Muster ist, die als ΔQX Max bzw. ΔQY Max bezeichnet sind. Die X-und Y-Max Gradienten werden kombiniert, um ein allgemeines ΔQ Max als endgültiges Ausgangssignal 400 des Boards zu bilden. Der Diagonalgradient wird ausgehend von den orthogonalen I- und J- Gradienten angenähert, indem man den Max-Gradienten plus der Hälfte des Kleineren nimmt. Alle drei Berechnungen werden sehr effizient nacheinander durch dieselbe Hardware durchgeführt. Das endgültig berechnete ΔQX Max wird in einem Halteregister 403 während der Taktperiode D gespeichert. Dann wird die Berechnung zur Ermittlung von Delta QY Max wiederholt. Diese Berechnung kann innerhalb vier zusätzlicher Taktperioden zur Verfügung stehen. Am Ende dieser Zeitperiode werden die berechneten Werte von ΔQX Max und ΔQY Max im Tristatemodus durch dieselbe Hardware zurückgeführt, um das allgemeine ΔQ Max zu berechnen. Die Gradienten werden nacheinander in einer 8-Takt Spannenperiode generiert. Das ΔQ Max Ausgangssignal 400 liefert für die LOD-Berechnung ein 11-Bit Ausgangsignal in Fließkommaform mit 5 Bits Exponent und 6 Bits Significand an das LOD/Alpha-Board.
  • Das LOD/Alpha-Rechnerboard in Fig. 11 enthält PROM's 404, 406, 408 für die Berechnung der LOD N, LOD N+1, α, 1- α, der X und Y Subtraktion, der X und Y N und N+1 Verschiebecodes und Verzögerungsregister 460, 466, 474 für die Zellformauswahl, Transformationsmapauswahl- und Mapkanten-Auswahlflags (Merker) - Das ΔQ Max Eingangssignal 400 ist ein vom ΔQ Max Recherboard (Fig. 10) berechnetes 11-Bit Eingangssignal, das einen Mittelwert der maximalen Gradienten beider X- und Y-Muster darstellt. Das ΔQ Max Signal liegt in einem Fließkommaformat vor, dessen Exponent immer positiv definiert ist. Das Zellformeingangssignal 416 ist ein 2-Bit Steuereingangssignal ausgehend vom Eingangsspeicher zur Definition der Mapform.
  • Der LOD-Wert ist eine 4-Bit Zahl, die zur Verschiebung der Zellmapadresse zur Auswahl der richtigen LOD eingesetzt wird. Der LOD-Wert wird durch das PROM 404 berechnet, indem zuerst das Fließkomma ΔQ Max Eingangssignal 400 mit einem Skalierungswert, der gegenwärtig mit 0,65 definiert ist, multipliziert wird. Diese Festkommakonstante stellt die minimal mögliche Zellgröße ein. Der resultierende Exponent wird nach der Addition von +5 an das Halteregister 410 und die LOD-Nummer 412 geleitet. Ein Addierer 414 stellt ein Eingangssignal für Register 415 bereit, das die LOD N + 1 418 als Ausgangssignal liefert. Der LOD-Wert ist auf ein Maximalwert von 8 und auf einen Minimalwert von 0 begrenzt. Alpha 420 ist definiert als das zwischen 2&supmin;² und 2&supmin;&sup5; verbleibende Bruchanteilbit des justierten ΔQ Max Signifikanden, und wird vom PROM 404 an die Register 422 und 424 geliefert. Diese Bits sind ein Maß für den relativen Abstand zweier verschiedener LODs und werden zur LOD-Mapmischung auf dem später hierin beschriebenen Zelle- Alpha-Mischboard eingesetzt. Wenn die LOD Maximumklemmung freigegeben ist, werden alle Bits von Alpha auf "1" gesetzt. Ist die LOD Minimumklemmung freigegeben, dann werden alle Bit von Alpha auf "0" gesetzt. Der 1 - αTerm 426 wird durch Invertierung der vier Alphabits mittels Inverter 428 erzeugt und zum Register 430 geleitet.
  • Drei PROMs (nur ein 406 ist gezeigt) werden eingesetzt, um 20 Bitwerte der X und Y Zweierkomplement minus 0,5 Subtraktionskoeffzienten zu erzeugen. Diese PROM's leiten den äquivalenten positiven Exponenten intern mit dem gleichen Verfahren ab, wie die LOD-PROMs. Die Subtraktionskoeffizienten-PROM's 406 haben ebenfalls die 2- Bit Zellenformauswahlsteuerung 416 als Eingang, so daß eine Kompensation für die Form der Zellmap durchgeführt werden kann. Die PROMs 406 erzeugen einen 11-Bit X- Subtraktionskoeffizienten, der im Register 432 als Ausgangssignal 436, und einen neun- Bit Subtraktionskoeffzienten, der im Register 434 als Ausgangssignal 438 zwischengespeichert wird.
  • Die X und Y Verschiebungssteuerungen 440 und 442 werden zur Skalierung des Bruchanteilbits von Q eingesetzt, das für die Texturglättung auf dem Zellglättungsboard benutzt wird. Die Verschiebecodes sind den LOD-Nummern ähnlich, mit der Ausnahme, daß eine getrennte Anpassung für beide X und Y Bruchanteilbits der Q's zur Kompensation der Zellmapform erforderlich ist. Dieses PROM leitet den äquivalenten positiven Exponenten intern mit dem gleichen Verfahren ab, wie das LOD-PROM. Das PROM 408 hat ebenfalls die 2-Bit Zellformauswahlsteuerung 416 als Eingangssignal, so daß eine Kompensation der Zellmapform durchgeführt werden kann. Der äquivalente positive Exponent und der Zellformcode werden dann zur Erzeugung der Verschiebecodes 440, 442 benutzt, die in den Registern 444 bzw. 446 gespeichert sind. Die X/Y Verschiebecodes für die N + 1 Zellglättungsboards werden durch die Addition von 1 zu den N Verschiebungscodes berechnet, die in den Registern 456 und 458, wie in 452 und 454 gezeigt, gespeichert sind. Das Zellformauswahleingangssignal 416 (Fig. 11B) wird durch das Register 460 von einem Zellformeingangssignal 462 des Vektorprozessors abgeleitet. Ein Durchsichtigkeits- Modulations- und Kantenflag-Eingangssignal 464 ist mit dem Register 466 zwecks Speicherung in Register 468 verbunden, um als Durchsichtigkeitsmodulations-Ausgangssignal und als Kantenflag-Ausgangssignal 470 für das später hierin zu beschreibende Durchsichtigkeits/Modulations-Board zu dienen. Ein Transformations-Eingangssignal 472 vom Durchsichtigkeitsspeicher und vom Modulationsspeicher wird in den Registern 474, 476 als Ausgangssignal 478 für das Durchsichtigkeits/Modulations-Board zwischengespeichert.
  • Das Zellenmap-Adressen-Board 480 in Fig. 12 wird zur Addressierung der Zellmap-Speicher eingesetzt. Zwei Boards werden für jede Pixelberechnung benötigt, eine für die Detailstufe N und eine für die Detailstufe N+1. Das Zellmap-Adressen-Board kombiniert die X und Y Q-Werte 482, 484, um eine Adresse für den Zellspeicher zu bilden. Ein Offset von -0,5 wird zusätzlich in die Qx und Qy Werte eingefügt, damit die vier richtigen Umgebungspixel für die aktuelle Pixelberechnung ausgewählt werden. Dieser Offset wird normalerweise nach der LOD-Adressen-Verschiebung subtrahiert, damit die LOD-Map Auswahl durch die Verschiebung eines Musters mit lauter "Einsen" und einer "Null" in den MSB-(most significant bit)-Anteil der Adresse durchgeführt werden kann. Zusätzlich wird ein Zellauswahlcode zur Korrektur der Verschiebung und der Adressierung eingesetzt, um die die ausgewählte Mapform zu treffen.
  • Das Zellmap-Adressen-Board 480 empfängt ein 11-Bit Eingangssignal 482 von einer Horizontalinterpolator-Karte, das den Q-Wert für die X-Komponente des aktuellen Pixels darstellt, und ein 9-Bit Eingangssignal 484 von der Horizontalinterpolator-Karte, das den Q-Wert für die Y- Komponente des aktuellen Pixels darstellt. Das Zellmap- Adressen-Board empfängt weiterhin ein 11-Bit Korrektur. eingangssignal 436, um die -0,5-Subtraktion für das X- Eingangssignal zu erhalten, und ein 9-Bit Eingangssignal 438, um die -0,5-Subtraktion für das Y-Eingangssignal zu erhalten, wobei beide von dem LOD/ALPHA-Board stammen. Ein 4-Bit LOD Eingangscode 486 wird vom LOD-Rechnerboard zur Auswahl des richtigen Detail-Mapstufe geliefert. Der LOD Eingangscode 486 ist LOD N für das LOD N-Board und LOD N+1 für das LOD N+1-Board. Das Zellmap-Adressen-Board empfängt auch einen 2-Bit Eingangscode, CELL SHAPE SELECT (Zellformauswahl) 488, der den Mapformfaktor auswählt. Dieses Signal stammt vom Eingangsspeicher, ist aber auf die richtige Registerposition hin verzögert. Die Register 490 und 492 kombinieren die Q-Werte und die Subtraktionswerte, um Adressen zu bilden, die an die Schieberegister 502 und 504 geleitet werden. Das LOD-Eingangssignal 486 ist Eingangssignal für Register 494, und das 2-Bit Zellformauswahl-Eingangssignal 488 ist Eingangssignal für Register 496. Die Detektoren 498 und 500 empfangen die Qx- und Qy-Werte von den entsprechenden Registern 490 und 492 und kombinieren diese Werte mit dem LOD-Eingangssignal 486 und dem Zellformauswahl-Eingangssignal 488 um das Vorliegen der "lauter Einsen"-Bedingung zu ermitteln. Das Zellmap- Adressen-Board 480 empfängt auch ein Mem1-Auswahl- Eingangssignal 518, das das Register 520 zur Ausgabe der Mem1-Adresse 522 freigibt, wenn es auf logisch "1" gesetzt ist, und das Register 524 zur Ausgabe der Mem2-Adresse 526 freigibt, wenn es auf logisch "0" gesetzt ist und wenn gleichzeitig ein Ein-Taktsignal vom Systemreferenztakt vorliegt. Die Ausgangssignale des Zellmap-Adressen-Boards umfassen ein MemA Auswahlausgangssignal 512, ein MemB Auswahl-ausgangssignal 516 zur Steuerung der LOD N- und LOD N+1-Adressen für den A- oder B-Speicher, ein verzögertes MemA Auswahlausgangssignal(SLKT.DLY) 508 und ein verzögertes MemB Ausgangssignals(SLKT.DLY) zur Auswahl des A- oder B-Speicherausgangs, unter Verwendung sowohl des 4- zu-1 Multiplexers auf dem Zellglättungsboard, als auch des Mem1 Adressenausgangssignals 522 und des Mem2 Adressenausgangsignals 526. Dabei ist das Ausgangssignal Mem1 522 eine 16-Bit Ausgangsadresse, die im Tristate-Modus mit der Mem2-Adresse des zugeordneten Partnerboards verbunden ist, und Ausgangssignal Mem2 526 ist eine 16-Bit Ausgangsadresse, die ebenfalls im Tristate-Modus mit der Mem2-Adresse des zugeordneten Partnerboards verbunden ist. Die Mem1- und Mem2-Adressenausgangssignale werden als Adressen zu beiden A- oder B-Zellspeichern für die Zellmap- Nachschlagetabelle und zur Freigabe der Out 1 Select und Out2 Select genannten Ausgangssignale der Zellmap genutzt. Diese Leitungen werden zur Freigabe entweder der 8 höchstwertigen Bits oder der 8 mittleren Bits der Zellmap benutzt. Diese Kombination bildet einen 32K Anteil des Zellmap-Speichers. Die Ausgangssignale des Zellmap- Adressen-Boards 480 schließen auch ein X EQ Max und ein Y EQ Max Ausgangssignal ein, das auf logisch "1" gesetzt wird, wenn der entsprechende Adressbereich bei der End- Adresse der Map liegt, wie es durch die Eingangssignale von den Detektoren 498 bzw. 500 angezeigt wird. Diese Signale sind mit dem Zellglättungsboard zum Zweck der Mapumrißsteuerung verbunden. Tabelle 4 MAP ADRESS LOD NUMMER BIT Mapgröße Zellenform Tabelle 5 MAP ADRESS LOD NUMMER BIT Mapgröße Zellenform Tabelle 6 MAP ADRESS LOD NUMMER BIT Mapgröße zellenform
  • Die LOD-Verschiebungsoperationen sind in den Tabellen 4, 5 und 6 für drei Mapformen dargestellt. Das X-Muster ist immer durch das dichtere Muster definiert und wird zur Bildung des höchstwertigen Bits (MSB) der Mapadresse verwendet. Das X-MSB ist, wie bei 514 dargestellt, mit dem LSB des LOD-Codes über ein Exklusiv-Oder Gatter verknüpft, um die entsprechenden MemA/MemB Auswahlsteuersignale 512 bzw. 516 zu erhalten. Das LSB des Y-Musters wird nur für die LOD 0 benötigt und wird für die Bildung der Ausgangsauswahlleitungen 1, 2 für den Zellspeicher eingesetzt. Zu beachten ist das nur aus lauter "1" und einer "0" bestehende Muster, das vom MSB-Ende der Adressauswahl der verschiedenen Map-LOD's eingeschoben wird.
  • Die -0,5 Subtraktionssteuerung vor der Verschiebung wird tatsächlich durch eine Addition ausgeführt. Daher wird das äquivalente 2er Komplement der zu subtrahierenden Zahl dem Board zugeführt. Die Muster für die X- und Y- Subtraktionseingänge sind in den Tabellen 7, 8 und 9 dargestellt. Diese Musterverschiebung wird in verdrahteter Logik auf der Rückseitenbusplatine des LOD N+1- Boardeinschubs ausgeführt. Tabelle 7 Addierer Eingang LOD Nr. Korrespondierende Map Für N Einmal linksschieben Tabelle 8 Addierer Eingang LOD Nr. Korrespondierende Map Einmal linksschieben Tabelle 9 Addierer Eingang LOD Nr. Korrespondierende Map Einmal linksschieben
  • Ein Zellmap ist in seiner Größe zu 256*256, 512*128 oder 1024*64 definiert. Die Maps benötigen einen Gesamtspeicher von 86K Nibbles (4 Bit Wortbreite für jede Stelle). Jede gröbere LOD-Map benötigt einen um den Faktor 4 kleineren Speicher; d. h. LOD O benötigt einen 64 K Mapspeicher, und LOD 1 benötigt einen 16K Mapspeicher. Der Mapspeicher muß so angeordnet sein, daß die berechnete Map- LOD N und die nächst gröbere LOD N+1 gleichzeitig verfügbar sind. Diese Notwendigkeit wird durch die Aufsplittung des Mapspeichers in zwei separate Speicher A und B, wie in Tabelle 10 dargestellt, erfüllt. Zu beachten ist, daß die Speicher A und B in Abhängigkeit davon, welche LOD adressiert ist, zwischen den oberen und unteren Mapteilen wechseln. Dieser Wechsel wird auf dem Board dadurch gesteuert, daß entweder das LOD N- oder LOD N+1- Boardausgangssignal in Abhängigkeit vom LSB der LOD-Nummer mittels Tristate-Technik an das A oder B Speicherboard angelegt wird. Tabelle 10 LOD MEM A Adresse MEM B Speicherbedarf pro LOD-Stufe
  • Zusätzlich zum Erfordernis eines separaten A-und B- Speichers erfordert die Zellglättung, daß vier Map's für jedes Pixel verfügbar sind. Dieses beruht auf der Notwendigkeit, eine Pixelintensität auf der Basis einer Glättung zwischen den vier Zellen zu berechnen, deren Mittelpunkte ein Polygon um den Pixelmittelpunkt bilden. Die vier Map's sind mit XY, XY1, X1Y und X1Y1 bezeichnet. Die LOD-Berechnung steuert das Verhältnis Mapzelle zu Pixelgröße.
  • Sobald eine spezielle Map für ein LOD berechnet ist, erhält man die Adresse für die XY-Zelle durch Subtraktion von 0,5 von den x- und Y-Komponeten der Adresse (siehe Tabellen 7, 8 und 9). Die vier Maps werden an der XY-Adrese gespeichert, so daß all diese Maps verfügbar sind, wenn nur die XY-Adresse vorliegt. Insgesamt werden 43K Nibblepositionen für jeden A-und B-Speicher benötigt.
  • Das Zellglättungsboard 540 in Fig. 13 führt die Mischung der vier um das Pixel herum liegenden Zellen zu einem allgemeinen Modulationsfaktor aus, der den relativen Abstand jedes Zellmittelpunkts zum Pixelmittelpunkt repräsentiert. Die Bruchanteile der Q-Werte von X und Y werden als direktes Maß für den Zellenabstand, wie folgt, benutzt:
  • M = Mxy*(1-f(x))*(1-f(y)) + Mxy1*(1-f(x))*(f(y)) + Mx1y*(f(x))*(1-f(y)) + Mx1y1*(f(x))*(f(y)) Gleichung 5
  • Diese Formel wird mit einer PROM-Nachschlagetabelle berechnete. Die Bruchanteile des Q-Werts werden erst zur LOD-Anpassung verschoben, bevor sie zum PROM geleitet werden. Separate Berechnungen sind für die LOD N und LOD N+1 an jeder Pixelposition notwendig, so daß insgesamt 8 Boards für das System benötigt werden. Das Board enthält die Zellseitensteuerung 544 zur Bearbeitung der Seitenlagebedingungen. Es ist Vorkehrung getroffen, daß ein Durchsichtigkeitswort des Eingangsspeichers von einem von der Zellseitensteurung ausgewählten Wort ersetzt werden kann. Ein 4-zu-1 Multiplexer 546 auf dem Board wählt Speicher A oder Speicher B und wählt als Boardeingang entweder den 32K LOD 0 oder einen Map, der 16K größer als LOD 0 ist, aus.
  • Das Zellglättungsboard 540 empfängt als Eingang: FX 548, 10 Bits Bruchanteil des Eingangs QX, der von dem Horizontalinterpolatorboard stammt; FY 552, 12 Bits Bruchanteil des Eingangs QY, der von dem Y- Horizontalinterpolatorboard stammt; ein X-Verschiebungs- Steuereingangssignal 550 und ein Y-Verschiebungs- Steuereingangssignal 554, die von dem LOD/Alpha Rechnerboard stammen. Die Zellseitensteuerung 544 empfängt XY-Endeflagsignale 556-570, die vom Eingangsspeicher stammen, um Seitenlagendaten für das Board bereitzustellen, die aber zur Synchronisation mit den Eingängen der Interpolatorboards verzögert sind. Die Zellseitensteuerung 544 empfängt die X EQ Max 572 und Y EQ Max 574 Eingangsflagsignale, die Adresse-Oben Flagsignale sind und vom Zellmap-Adressen-Board stammen. Ein X-Vorzeichen Eingangssignal 576 und ein Y-Vorzeichen Eingangssignal 578 sind als Q-Vorzeichen Eingangssignal vorgesehen, und X- und Y-Überlauf Eingangssignale 580 vom gleichen Board gewährleisten Q-Überlauf Eingangssignale für die Zellseitensteuerung 544. Der Multiplexer 546 empfängt als Steuereingang für den Zugriff auf den Systemspeicher einen Satz von vier 16-Bit Eingängen, MemA 32K 582, MemB 32K 584, MemA 16K 586 und MemB 16K 588 von den Zellspeicherboards. Ein LOD 0 Flag 590 Steuersignal steuert die Auswahl von 32K Speicher nur auf der LOD N Karte. Das Speicher-B- Auswahleingangssignal 592 kommt vom Zellmap Adressen-Board und ist mit dem MemB- Auswahlsignal für die LOD N+1 Boardposition verbunden. Das Durchsichtigkeitssignal wird in vier Eingangsleitungen, wie bei 594 gezeigt, eingeführt und kommt vom Eingangsspeicher, nachdem es, wie bei 596 gezeigt, entsprechend verzögert wurde. Der Durchsichtigkeits-Schwellenwert ist als der Binärwert definiert, ab dem auf eine vollständige Durchsichtigkeit geschaltet wird. Die Multiplexer 598, 600, 602, 604 übertragen selektiv die Modulationswerte Mxy, Mxy1, Mx1y und Mx1y1 oder den Durchsichtigkeitscode zu den entsprechenden Multiplizierern 606, 608, 610, 612. Die Eingangssignale der PROM-Nachschlagetabelle 542 sind auch Eingangssignale zu den Multiplizierern, und die Produkte daraus werden an die Addierer 614, 616 und 618 ausgegeben, um M out 620 gemäß Gleichung 6 zu erzeugen. Das Ausgangssignal M out des Boards ist ein 8-Bit Ausgang, der vier weitere Bruchanteilbits von der Interpolation der Vier-Bit Zellwerte addiert. Ein Satz von 8 Zellglättungsboards stellt M out-Werte für das Zellen/Alpha Mischboard zur Verfügung.
  • Ein Zellen/Alpha Mischboard 630 wie in Fig. 14 erzeugt einen sanften Mischübergang zwischen einer Zellmap LOD N und LOD N+1, die nächst gröbere Stufe. Das Board verarbeitet vier Pixel. Die Ausgangsmodulation ist wie folgt berechnet:
  • M = α*M(N+1) + (1-α)*M(N) Gleichung 6
  • Das Zellen/Alpha Mischboard empfängt einen Satz von M(N)X Eingangssignalen 632, 634, 636, 638, das eines der vier 8-Bit Modulationseingangssignale ist, die vom LOD N Map stammen, und einen Satz von M(N+1) Eingangssignalen 640, 642, 644, 646, das eines der vier 8-Bit Modulationseingänge ist, die vom LOD N+1 Map stammen. Das Zellen/Alpha-Board empfängt ebenfalls ein Alpha Eingangssignal 648, das ein vom LOD Alpha Board erzeugtes 4- Bit Bruchanteileingangssignal ist, und das (1-Alpha) Eingangssignal 650, das ein 4-Bit 1'ner Komplement von Alpha ist.
  • Die Rechner 652, 654, 656, 658 für die Zellen/Alpha Mischfunktion enthalten die Multiplizierer 660, 662, die Produkt-Ausgangssignale für den Addierer 664 bereitstellen. Das Zellen/Alpha Mischboard stellt mehrere 8-Bit Modulationsausgangssignale M(x) 666, 668, 670, 672 zur Verfügung, die als Eingangssignale zum Durchsichtigkeits/Modulations-Transformationsboard geführt werden.
  • Das Durchsichtigkeits/Modulations-Transformations- Zellen/Streifen- Auswahlboard 680 in Fig. 15 wird zur Auswahl zwischen Streifentextur oder Zelltextur als Basismodulation eingesetzt. Zwei Transformationsmaps 682, 684 sind auf dem Board angeordnet, eine 682 für das Durchsichtigkeitsausgangssignal 686 und eine 684 für das Textur-Modulationsausgangssignal 688. Das Boardeingangsmodulationssignal ist mit dem Adresseingang für die Maps verbunden, so daß jede beliebige Mustertransformation separat auf die Durchsichtigkeit oder Modulation angewandt werden kann. Wenn ein Map die aktuelle Adresse an jeder Speicherstelle gespeichert hat, findet keine Transformation statt. Jede gewünschte Änderung kann ausgehend von dieser Basis durchgeführt werden. Die Durchsichtigkeitstransformation wird zur Programmierung des Durchsichtigkeitsschwellwertes, der Steigung und inversen Selektion verwendet, wo es erforderlich ist. Der Zelltextur-Eingang 690 stellt 8 Eingangsbits Zellmodulation vom Alpha-Mischboard 630 bereit, während der Streifentextur-Eingang 692 8 Eingangsbits Streifenmodulation von einem konventionellen Texturboard bereitstellt. Das Durchsichtikeitsmap-Auswahleingangssignal 694 liefert einen vom Eingangspeicher verzögerten 4-Bit Eingangscode zur Auswahl von einer aus 16 möglichen Übersetzungsmaps für die zu bearbeitende Ansicht. Das Übersetzungsmap-Auswahleingangssignal 696 liefert ebenfalls einen vom Eingangspeicher verzögerten 4-Bit Eingangscode zur Auswahl von einer aus 16 möglichen Übersetzungsmaps für die zu bearbeitende Ansicht. Der Streifentextur- Auswahleingang 698 stellt eine ebenfalls vom Eingangsspeicher kommende Steuerleitung für die Auswahl der Streifentextur bereit. Die Durchsichtigkeitsmodulation wird für die Steuerung der Pixel-für-Pixel Ansichtsdurchsichtigkeit eines CIG Objekts eingesetzt.
  • Der Durchsichtigkeitsausgangssignal 686 ist an das Durchsichtigkeitsmultiplikations- und Maskennachschlagetabelle-Board 700, wie in Fig. 16 dargestellt, angelegt. Das Board 700 enthält ein Multiplizier-PROM 702, das den 6-Bit Durchsichtigkeitsmultiplikanden 686 und einen 6-Bit Steuerworteingangssignal vom Frame II des Speichers 102 multipliziert. Diese Multiplikation liefert einen endgültigen Pixeldurchsichtigkeitswert 706 in Prozentangabe, der an die PROM's 708, 710, 712 und 714 ausgegeben wird, die weiterhin noch ein 5-Bit Steuerwort als Eingangssignal empfangen. Die PROM's 708, 710, 712 und 714 verwenden das Steuerwort zur Auswahl des gewünschten Maskenmusters zur Filterung der Unterpixel. Jede Maske besteht aus mehreren Bits, die in aufeinaderfolgenden Adressen in den PROM's gespeichert sind. Jedes Maskenmuster unterscheidet sich von dem im PROM danebenliegenden Muster durch ein Bit mehr oder ein Bit weniger. Die PROM's 708, 710, 712 und 714 geben die 8-Bit Maskendurchsichtigkeitswerte 718, 720, 722 und 724 über Verzögerungsregister 726 aus, um die richtige Ausgangssignalsynchronisierung mit dem Takt des Spannenprozessors zu gewährleisten. Die Werte der Durchsichtigkeitsmaske definieren das Verhältnis der Farbkombination zweier Ansichten gemäß Gleichung 7.
  • C = T*CT + (1-T)*CB Gleichung 7
  • in der C die beobachtete Farbe des angezeigten Pixels, T die Durchsichtigkeit der Ansicht, CT die Durchsichsichtige Ansichtsfarbe und CB die Farbe hinter der durchsichtigen Ansicht ist. Beispielsweise ist in einem System mit 32 Bit-Maskenmustern eine Ansicht mit 0/32- Durchsichtigkeit transparent und hat deshalb keinen Einfluß auf die Farbe des angezeigten Pixels, während eine Ansicht mit 32/32 Durchsichtigkeit eine undurchsichtige Ansicht ist, die den vollen Farbton des angezeigten Pixels definiert. Auf diese Weise kann das oben beschriebene Seitenansicht-Fading erreicht werden, indem man einen vom Sichtwinkel abhängigen Fadingfaktor als Eingangssignal 704 anlegt. Eine zweites Durchsichtigkeits/Multiplikation- und Masken-Nachschlage-Board ist damit beschäftigt, Eingangssignale vom Spannenprozessor zu bearbeiten, so daß die zwei Boards vier Pixel-Rechenpfade schaffen, wie sie vom Spannenprozessor benötigt werden. Die Ausgänge 718, 720, 722, 724 und 730, 732, 734, 736 werden dem Spannenprozessor zur Steuerung des Pixel-für-Pixel Bildes auf der Videoanzeige des Systems zur Verfügung gestellt.
  • Für den Fachmann wird deutlich, daß die vorliegende Erfindung einen neuartigen Objektgenerator schafft, der komplexe Objektbilder in Echtzeit mit adäquater Detailauflösung verarbeiten kann, um die notwendigen visuellen Anreize für neuartige Simulatortrainingsmissionen zu liefern.

Claims (15)

1. Objekt-Generator zur Lieferung von durch einen Computer generierten Bildsteuersignalen für eine Echtzeitanzeige, enthaltend:
eine Datenspeichereinrichtung zum Speichern von Zelle-für- Zelle-Daten für mehrere Detailstufen für mehrere Objekte für eine Wiedergewinnung und Computerverarbeitung für eine Videoanzeige,
wobei die Zelldaten Daten enthalten, die für jedes dreidimensionale Objekt auf mehreren Ebenen gespeichert sind, wobei die Ebenen in der Weise angeordnet sind, daß sie auf entsprechende Weise mehrere Sichtwinkel auf einen gegebenen Sichtpunkt darstellen,
eine Vektor-Verarbeitungseinrichtung zum Berechnen von Objekt-Transformationen zum Übersetzen von Operator- Eingaben in Bildorientierungs-Steuersignale zum Berechnen gültiger Pixel-für-Pixel-Bilddaten,
eine Durchsichtigkeitscode-Speichereinrichtung zum Speichern vorbestimmter Durchsichtigkeitsfaktoren für gewählte Zellen der Objektflächen,
eine Durchsichtigkeitscode-Verarbeitungseinrichtung zum Berechnen von Durchsichtigkeitsfaktoren auf einer Pixelfür-Pixel-Basis für die gewählten Zellen des Objektes, eine Einrichtung zum Empfangen von Bilddaten von der Vektor-Verarbeitungseinrichtung zum Auswählen von Bilddaten, die von gewählten Ebenen projiziert sind zum Verarbeiten für eine Videoanzeige,
eine Einrichtung zum Berechnen eines Hochkant-Fadingfaktors für jede Fläche von den mehreren Flächen für jedes darzustellende Objekt,
eine erste Detailstufen-Berechnungseinrichtung zum Berechnen von Adreßdaten für eine Wiedergewinnung aus der Objektdaten-Speichereinrichtung von Daten für eine erste Detailstufe für jedes der Objektbilder, die für eine Videoanzeige verarbeitet werden sollen,
eine zweite Detailstufen-Berechnungseinrichtung zum Berechnen von Adreßdaten für eine Wiedergewinnung aus der Objektdaten-Speichereinrichtung von Daten für eine zweite Detailstufe für jedes der Objektbilder, die für eine Videoanzeige verarbeitet werden sollen,
eine Detailstufen-Mischereinrichtung zum Kombinieren der Daten für die erste Detailstufe mit den Daten für die zweite Detailstufe in eine einzige Detailstufenausgangsgröße für jedes Pixel von einem Videobild des Objektes,
eine bilineare Interpolationseinrichtung zum Berechnen von Pixel-für-Pixel-Adreßdaten für jede zu bearbeitende Spanne, eine Zelltextur-Adreßeinrichtung zum Ermitteln des Speicherplatzes, auf den für eine Wiedergewinnung von Zelltexturdaten zugegriffen werden soll,
eine Ausgangseinrichtung zum Ausgeben von Pixel-für-Pixel- Bildsteuerdaten,
eine Spannenverarbeitungseinrichtung zum Empfangen der Pixel-für-Pixel-Bildsteuerdaten und zum Übersetzen der Bildsteuerdaten in Pixel-für-Pixel-Anzeigedaten und
eine Video-Monitoreinrichtung zum Anzeigen mehrerer Bilder der Objekte, die Pixel-für-Pixel-Anzeigen der Anzeigedaten aufweisen.
2. Objekt-Generator nach Anspruch 1, wobei die Durchsichtigkeitscode-Verarbeitungseinrichtung aufweist:
eine Einrichtung zum Auswählen einer Durchsichtigkeitsmap aus mehreren Durchsichtigkeitsmaps für jede der Objektflächen, die für eine Anzeige auf dem Videomonitor verarbeitet werden sollen, und
eine Einrichtung zum Multiplizieren eines Durchsichtigkeitscodes für jedes Pixel in einem Objekt, das aus einer Durchsichtigkeitsmap rückgewonnen worden ist, mit den Daten für jedes Pixel des Objektes.
3. Objekt-Generator nach Anspruch 1, wobei die Einrichtung zum Berechnen eines Hochkant-Fadingfaktors aufweist:
eine Einrichtung zum Berechnen eines Sichtwinkels zwischen einem Sichtstrahl, der sich von dem Sichtpunkt des Betrachters zu dem anzuzeigenden Objekt erstreckt, und den entsprechenden Ebenen des anzuzeigenden Objektes, und
eine Durchsichtigkeits-Schwellenwert-Berechnungseinrichtung zur Lieferung eines Multiplikators für jede entsprechende Ebene eines dreidimensionalen Objektes, wobei der Multiplikator ein Maß für die Größe des entsprechenden Sichtwinkels für jede Ebene von jedem anzuzeigenden Objekt ist.
4. Objekt-Generator nach Anspruch 3, wobei jede der mehreren Ebenen mehrere Ebenen aufweist, die sich entlang einer Linie innerhalb eines entsprechenden Objektes schneiden.
5. Objekt-Generator nach Anspruch 4, wobei die Durchsichtigkeits-Schwellenwert-Berechnungseinrichtung aufweist:
Mittel zum Empfangen von Sichtwinkeldaten für jede entsprechende Fläche eines Objektes aus der Einrichtung zum Berechnen eines Sichtwinkels,
Mittel zum Vergleichen jedes entsprechenden Sichtwinkels mit einem vorbestimmten minimalen Winkel und einem vorbestimmten maximalen Winkel,
Mittel zum Berechnen eines Durchsichtigkeits-Koeffizienten für jede entsprechende Fläche, wenn der Sichtwinkel zwischen den minimalen und maximalen Sichtwinkeln ist,
Mittel, um jede entsprechende Fläche vollständig transparent zu machen, wenn der Sichtwinkel kleiner als der minimale Sichtwinkel ist, und
Mittel zum Liefern des entsprechenden Durchsichtigkeits- Koeffizienten an die Spannenverarbeitungseinrichtung.
6. Objekt-Generator nach Anspruch 5, wobei die Mittel zum Berechnen eines Durchsichtigkeits-Koeffizienten Mittel aufweisen zum Berechnen eines Durchsichtigkeits- Koeffizienten, wenn ein entsprechender Sichtwinkel kleiner als 36 Grad und größer als 18 Grad ist.
7. Objekt-Generator nach Anspruch 1, wobei die erste Detailstufen-Berechnungseinrichtung aufweist:
Mittel zum Berechnen einer Zellenbildgröße für jede Zelle einer darzustellenden Szene,
Mittel zum Vergleichen der Zellbildgröße mit einer zuvor berechneten Pixeldimension, um zu ermitteln, welche Detailstufen zu verarbeiten sind,
Mittel zum Zugreifen auf eine erste Computer- Speichernachschlagetabelle, die darin gespeicherte, zuvor ermittelte Detailstufendaten aufweist, und
wobei die zweite Detailstufen-Berechnungseinrichtung aufweist:
Mittel zum Zugreifen auf eine zweite Computer- Speichernachschlagetabelle, die darin gespeicherte, zuvor ermittelte Detailstufendaten aufweist, und
Mittel zum Ausgeben von Zellendaten, die zuvor in einer Mapspeichereinrichtung des Computers gespeichert sind, für jede der ersten und zweiten Detailstufen für jedes darzustellende Objekt.
8. Objekt-Generator nach Anspruch 7, wobei die erste Detailstufe eine höhere Detailstufe aufweist und die zweite Detailstufe eine niedrigere Detailstufe aufweist.
9. Objekt-Generator nach Anspruch 8, wobei die Detailstufen-Mischereinrichtung aufweist:
Mittel zum Empfangen von Gradienten der Bildmuster auf jedem Flächenbild von einem dreidimensionalen Objekt als Eingangsgrößen,
Mittel zum Vergleichen des Gradienten mit einem vorbestimmten maximalen Gradienten für jede der zwei Dimensionen,
Mittel zum Vergleichen der Gradienten mit vorbestimmten Werten der Gradienten, um die höhere Detailstufe zu ermitteln,
Mittel zum Berechnen eines Detailstufen-Mischsteuerwertes,
Mittel zum Berechnen des Einser-Komplements der Detailstufen-Mischsteuerausgangsgröße,
Mittel zum Multiplizieren des Detailstufen- Mischsteuerwertes mit den Zelldaten für die höhere Detailstufe,
Mittel zum Multiplizieren des Einser-Komplements des Mischsteuerwertes mit den Zelldaten für die niedrigere Detailstufe,
Summiermittel zum Addieren der Ausgangsgrößen der Einrichtung zum Multiplizieren des Detailstufen- Mischsteuerwertes und der eine höhere Detailstufe aufweisenden Bilddaten zu der Ausgangsgröße aus der Einrichtung zum Multiplizieren des Einser-Komplements des Mischsteuerwertes mit den eine niedrigere Detailstufe aufweisenden Bilddaten, um einen einzigen Modulationsausgangswert für jedes Pixel eines Bildes zu erzeugen.
10. Objekt-Generator nach Anspruch 6, wobei mehrere Detailstufen-Mischeinrichtungen vorgesehen sind, die jeweils einen Detailstufen-Modulationsausgangswert für mehrere Pixel des Videobildes liefern.
11. Objekt-Generator nach Anspruch 1, wobei die Zelltextur- Adreßeinrichtung aufweist:
erste und zweite duale Fließkomma-Multiplizier- und Summiereinrichtungen zum Berechnen eines ersten Zählers und eines zweiten Zählers, die zum Berechnen der Objektlagekoeffizienten für jede darzustellende Objektfläche erforderlich sind,
duale Fließkomma-Summier- und Multipliziereinrichtungen zum Berechnen eines Nenners, der den beiden Koeffizienten gemeinsam ist,
Mittel zum Berechnen des Kehrwertes des Nenners und
Mittel zum Multiplizieren des Nenner-Kehrwertes mit dem ersten Zähler und dem zweiten Zähler und zum Hinzuaddieren zu den daraus entstehenden Quotienten der Referenzwerte der entsprechenden ersten und zweiten Zähler, um Adressen auf der Objektfläche zu erhalten, die der Spannenecke entsprechen,
eine Vertikal-Interpolatoreinrichtung zum Berechnen von Adressen-Zwischenparametern für Bildtexturdaten für Bildelemente, die in der einen Dimension zwischen Punkten angeordnet sind, die an Adressen angeordnet sind, die durch die duale Fließkomma-Summier- und Multipliziereinrichtung ausgegeben sind, für einen Zugriff auf Texturdaten für vorbestimmte Spalten der Pixel auf einer Spanne der Videoanzeige, und
eine Horizontal-Interpolatoreinrichtung zum Berechnen von Adressen-Zwischenparametern für Bildtexturdaten für Bildelemente, die in einer zweiten Dimension auf Linien zwischen Punkten auf den ersten und zweiten Pixelspalten angeordnet sind.
12. Objekt-Generator nach Anspruch 1, wobei die bilineare Interpolationseinrichtung aufweist:
Mittel zum Empfangen eines Satzes vertikaler und horizontaler Adreßpaare, die eine Spanne aus der Datenspeichereinrichtung definieren,
Mittel zum Berechnen eines inkrementierenden Wertes, eine Inkrementierungseinrichtung zum Berechnen mehrerer vertikaler Zwischenadressen, die mehrere Pixeladressen definieren, die vertikal durch den inkrementierenden Wert entlang entsprechenden linken und rechten Pixelspalten getrennt sind, die entsprechende Kanten der Spanne definieren,
Mittel zum Berechnen horizontaler Adressen für entsprechende Pixelreihen, die zwischen entsprechenden Paaren vertikal ausgerichteter Pixel der linken und rechten Spalten angeordnet sind, um eine vollständige Array von Pixeladressen für die Spanne zu definieren und eine Ausgangseinrichtung für einen Zugriff auf einen Texturmapspeicher an jeder Pixeladresse der Array von Pixeladressen.
13. Objekt-Generator nach Anspruch 12, wobei die Einrichtung zum Berechnen eines Inkrementierungswertes aufweist:
Mittel zum Subtrahieren einer vertikalen Adresse von einem ersten Pixel an dem einen Ende einer Pixelspalte von einer vertikalen Adresse eines zweiten Pixels an dem anderen Ende der Pixelspalten, um eine vertikale Adressendifferenz zu erhalten, und
Mittel zum Dividieren der vertikalen Adressendifferenz durch eine vorbestimmte Konstante, die-gleich der Zahl der gewünschten vertikalen Inkremente in der Spalte ist.
14. Objekt-Generator nach Anspruch 13, wobei die Inkrementierungseinrichtung aufweist:
Addiermittel zum entsprechenden Addieren des Inkrementierungswertes zu der ersten vertikalen Adresse und zum Ausgeben einer neuen vertikalen Adresse nach jeder aufeinanderfolgenden Addition, bis die zweite vertikale Adresse erreicht ist.
15. Objekt-Generator nach Anspruch 14, wobei die Einrichtung zum Berechnen horizontaler Adreßwerte aufweist:
eine erste horizontale Adreßsummiereinrichtung zum Addieren zweier horizontaler Adressen, die aus der Datenspeichereinrichtung eingegeben sind,
eine erste Dividiereinrichtung zum Dividieren der Summe der horizontalen Adressen, um eine horizontale Spannenmittelpunktadresse zu erhalten,
eine zweite horizontale Summiereinrichtung zum Addieren einer ersten horizontalen Adresse aus der Datenspeichereinrichtung und der horizontalen Mittelpunktadresse,
eine zweite Dividiereinrichtung zum Dividieren der Summe der ersten horizontalen Adresse und der horizontalen Mittelpunktadresse, um eine horizontale Viertelspannen- Adresse zu erhalten,
eine dritte horizontale Summiereinrichtung zum Addieren einer zweiten horizontalen Adresse aus der Datenspeichereinrichtung und der horizontalen Mittelpunktadresse, und
eine dritte Dividiereinrichtung zum Dividieren der Summe der zweiten horizontalen Adresse und der horizontalen Mittelpunktadresse, um eine horizontale Dreiviertelspannen- Adresse zu erhalten.
DE8484109751T 1983-08-30 1984-08-16 Videoobjekt-generator. Expired - Lifetime DE3485846T2 (de)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
US52780983A 1983-08-30 1983-08-30

Publications (2)

Publication Number Publication Date
DE3485846D1 DE3485846D1 (de) 1992-09-03
DE3485846T2 true DE3485846T2 (de) 1993-03-18

Family

ID=24103017

Family Applications (1)

Application Number Title Priority Date Filing Date
DE8484109751T Expired - Lifetime DE3485846T2 (de) 1983-08-30 1984-08-16 Videoobjekt-generator.

Country Status (5)

Country Link
US (1) US4727365B1 (de)
EP (1) EP0137233B1 (de)
JP (1) JPH0740171B2 (de)
DE (1) DE3485846T2 (de)
IL (1) IL72685A (de)

Families Citing this family (146)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
GB2181929B (en) * 1985-10-21 1989-09-20 Sony Corp Methods of and apparatus for video signal processing
US4692880A (en) * 1985-11-15 1987-09-08 General Electric Company Memory efficient cell texturing for advanced video object generator
WO1987003980A2 (en) * 1985-12-19 1987-07-02 General Electric Company Comprehensive distortion correction in a real time imaging system
JPS62229380A (ja) * 1986-03-29 1987-10-08 Toshiba Corp 3次元物体表示装置
GB2193069B (en) * 1986-07-17 1990-08-29 Toshiba Kk Image frame composing circuit utilizing color look-up table
JPS6325682A (ja) * 1986-07-18 1988-02-03 日立電子株式会社 模擬視界発生装置
US4905164A (en) * 1986-12-19 1990-02-27 General Electric Company Method for modulating color for effecting color cell texture
US4985849A (en) * 1987-06-12 1991-01-15 Canon Kabushiki Kaisha Image processing system for forming a slantwise-mapped or rotated modified image of an original image
US4888712A (en) * 1987-11-04 1989-12-19 Schlumberger Systems, Inc. Guardband clipping method and apparatus for 3-D graphics display system
US4901064A (en) * 1987-11-04 1990-02-13 Schlumberger Technologies, Inc. Normal vector shading for 3-D graphics display system
US4885703A (en) * 1987-11-04 1989-12-05 Schlumberger Systems, Inc. 3-D graphics display system using triangle processor pipeline
US4974176A (en) * 1987-12-18 1990-11-27 General Electric Company Microtexture for close-in detail
US5222203A (en) * 1989-01-20 1993-06-22 Daikin Industries, Ltd. Method and apparatus for displaying translucent surface
JPH02191995A (ja) * 1989-01-20 1990-07-27 Daikin Ind Ltd 半透明面表示方法およびその装置
WO1991001529A1 (en) * 1989-07-10 1991-02-07 General Electric Company Spatial augmentation of vertices for level of detail transition
US5367615A (en) * 1989-07-10 1994-11-22 General Electric Company Spatial augmentation of vertices and continuous level of detail transition for smoothly varying terrain polygon density
US5206628A (en) * 1989-11-17 1993-04-27 Digital Equipment Corporation Method and apparatus for drawing lines in a graphics system
GB2240016A (en) * 1990-01-15 1991-07-17 Philips Electronic Associated Texture memories store data at alternating levels of resolution
US5222205A (en) * 1990-03-16 1993-06-22 Hewlett-Packard Company Method for generating addresses to textured graphics primitives stored in rip maps
US5022085A (en) * 1990-05-29 1991-06-04 Eastman Kodak Company Neighborhood-based merging of image data
JPH04129481A (ja) * 1990-09-20 1992-04-30 Sony Corp 特殊効果映像作成方法
US5351067A (en) * 1991-07-22 1994-09-27 International Business Machines Corporation Multi-source image real time mixing and anti-aliasing
TW225595B (de) * 1991-09-03 1994-06-21 Gen Electric
US5592599A (en) * 1991-12-18 1997-01-07 Ampex Corporation Video special effects system with graphical operator interface
US5265202A (en) * 1992-08-28 1993-11-23 International Business Machines Corporation Method and system for accessing visually obscured data in a data processing system
US5577960A (en) * 1993-06-10 1996-11-26 Namco, Ltd. Image synthesizing system and game playing apparatus using the same
JPH0778267A (ja) * 1993-07-09 1995-03-20 Silicon Graphics Inc 陰影を表示する方法及びコンピュータ制御表示システム
JPH0757117A (ja) * 1993-07-09 1995-03-03 Silicon Graphics Inc テクスチャマップへの索引を生成する方法及びコンピュータ制御表示システム
US5774125A (en) * 1993-11-18 1998-06-30 Sony Corporation Texture mapping method in which 3-D image data is transformed into 2-D data and mapped onto a surface of an object for display
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
US5461712A (en) * 1994-04-18 1995-10-24 International Business Machines Corporation Quadrant-based two-dimensional memory manager
US5668940A (en) * 1994-08-19 1997-09-16 Martin Marietta Corporation Method and apparatus for anti-aliasing polygon edges in a computer imaging system
JP3721418B2 (ja) * 1994-10-26 2005-11-30 ザ・ボーイング・カンパニー 複合構造のコンピュータ生成スクリーンディスプレイに表示される細部レベルを制御するための方法
US5649173A (en) * 1995-03-06 1997-07-15 Seiko Epson Corporation Hardware architecture for image generation and manipulation
US5742277A (en) * 1995-10-06 1998-04-21 Silicon Graphics, Inc. Antialiasing of silhouette edges
EP0772119A3 (de) * 1995-10-31 1997-12-29 Cirrus Logic, Inc. Automatische graphische Operationen
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
US6108460A (en) * 1996-01-02 2000-08-22 Pixelfusion Limited Load balanced image generation
US5831625A (en) * 1996-01-02 1998-11-03 Integrated Device Technology, Inc. Wavelet texturing
US5850489A (en) * 1996-01-02 1998-12-15 Integrated Device Technology, Inc. Linear expression evaluator
US5808690A (en) * 1996-01-02 1998-09-15 Integrated Device Technology, Inc. Image generation system, methods and computer program products using distributed processing
US5892517A (en) * 1996-01-02 1999-04-06 Integrated Device Technology, Inc. Shared access texturing of computer graphic images
US6348921B1 (en) 1996-04-12 2002-02-19 Ze Hong Zhao System and method for displaying different portions of an object in different levels of detail
KR100313846B1 (ko) * 1996-04-16 2001-12-28 윤종용 바이리니어밉매핑에서의상세도(lod)계산방법및장치
US5831624A (en) * 1996-04-30 1998-11-03 3Dfx Interactive Inc Level of detail texture filtering with dithering and mipmaps
US5872571A (en) * 1996-05-14 1999-02-16 Hewlett-Packard Company Method and apparatus for display of multi-planar ultrasound images employing image projection techniques
US6104842A (en) * 1996-06-10 2000-08-15 Integrated Device Technology, Inc. Geometry processing of digital video models and images
US6121974A (en) * 1996-06-27 2000-09-19 Cirrus Logic, Inc. Priority storage system for fast memory devices
US5936635A (en) * 1996-06-28 1999-08-10 Cirrus Logic, Inc. System and method of rendering polygons into a pixel grid
US5793386A (en) * 1996-06-28 1998-08-11 S3 Incorporated Register set reordering for a graphics processor based upon the type of primitive to be rendered
US5844562A (en) * 1996-06-28 1998-12-01 Deneb Robotics, Inc. Method for hi-fidelity graphic rendering of three-dimensional objects
US5877771A (en) * 1996-07-12 1999-03-02 Silicon Graphics, Inc. Method and apparatus for supersampling based on the local rate of change in texture
US5828382A (en) * 1996-08-02 1998-10-27 Cirrus Logic, Inc. Apparatus for dynamic XY tiled texture caching
US5844567A (en) * 1996-08-12 1998-12-01 Silicon Graphics, Inc. Computer graphics system and method for texture mapping using triangular interpolation
US5987582A (en) * 1996-09-30 1999-11-16 Cirrus Logic, Inc. Method of obtaining a buffer contiguous memory and building a page table that is accessible by a peripheral graphics device
US5875295A (en) * 1996-09-30 1999-02-23 S3 Incorporated Instruction format for ensuring safe execution of display list
US6348917B1 (en) 1996-09-30 2002-02-19 Cirrus Logic, Inc Dynamic switching of texture mip-maps based on depth
US5748789A (en) * 1996-10-31 1998-05-05 Microsoft Corporation Transparent block skipping in object-based video coding systems
US6002406A (en) * 1996-11-13 1999-12-14 Silicon Graphics, Inc. System and method for storing and accessing data representative of an object in various level-of-detail
US6333746B1 (en) 1996-12-30 2001-12-25 Cirrus Logic, Inc. Auto level of detail texture mapping for a software graphics engine
US6088016A (en) * 1996-12-30 2000-07-11 S3 Incorporated Dithering method and apparatus using ramp probability logic
US5986663A (en) * 1997-10-10 1999-11-16 Cirrus Logic, Inc. Auto level of detail-based MIP mapping in a graphics processor
US5844576A (en) * 1996-12-30 1998-12-01 Cirrus Logic, Inc. Tiled linear host texture storage
US6157386A (en) * 1997-10-10 2000-12-05 Cirrus Logic, Inc MIP map blending in a graphics processor
US5835097A (en) * 1996-12-30 1998-11-10 Cirrus Logic, Inc. Non-homogenous second order perspective texture mapping using linear interpolation parameters
US5841442A (en) * 1996-12-30 1998-11-24 Cirrus Logic, Inc. Method for computing parameters used in a non-homogeneous second order perspective texture mapping process using interpolation
US6052127A (en) * 1996-12-30 2000-04-18 Cirrus Logic, Inc. Circuit for determining non-homogenous second order perspective texture mapping coordinates using linear interpolation
US5949426A (en) * 1997-01-28 1999-09-07 Integrated Device Technology, Inc. Non-linear texture map blending
US5796385A (en) * 1997-01-28 1998-08-18 Integrated Device Technology, Inc. Luminance controlled color resolution reduction
US5990903A (en) * 1997-02-03 1999-11-23 Micron Technologies, Inc. Method and apparatus for performing chroma key, transparency and fog operations
US5977983A (en) * 1997-02-20 1999-11-02 S3 Incorporated Method and apparatus for adjusting graphics processing procedures based on a selectable speed/quality gauge
US5841443A (en) * 1997-02-20 1998-11-24 S3 Incorporated Method for triangle subdivision in computer graphics texture mapping to eliminate artifacts in high perspective polygons
US5929869A (en) * 1997-03-05 1999-07-27 Cirrus Logic, Inc. Texture map storage with UV remapping
US6072508A (en) * 1997-03-14 2000-06-06 S3 Incorporated Method and apparatus for shortening display list instructions
US6028613A (en) * 1997-03-20 2000-02-22 S3 Incorporated Method and apparatus for programming a graphics subsystem register set
US6130674A (en) * 1997-03-31 2000-10-10 Cirrus Logic, Inc. Dynamically selectable texture filter for computer graphics
US5949421A (en) * 1997-03-31 1999-09-07 Cirrus Logic, Inc. Method and system for efficient register sorting for three dimensional graphics
US5978895A (en) * 1997-04-04 1999-11-02 Cirrus Logic, Inc. Method for speeding mathematical operations in a processor core
US5835104A (en) * 1997-04-23 1998-11-10 S3 Incorporated Variable band size compositing buffer method and apparatus
US5940090A (en) * 1997-05-07 1999-08-17 Cirrus Logic, Inc. Method and apparatus for internally caching the minimum and maximum XY pixel address values in a graphics subsystem
US6266753B1 (en) 1997-07-10 2001-07-24 Cirrus Logic, Inc. Memory manager for multi-media apparatus and method therefor
US6181347B1 (en) 1997-09-17 2001-01-30 Cirrus Logic, Inc. Selectable mode smoothing texture filter for computer graphics
US6054993A (en) * 1997-09-17 2000-04-25 Cirrus Logic, Inc. Chroma-keyed specular texture mapping in a graphics processor
US6002409A (en) * 1997-10-29 1999-12-14 Cirrus Logic, Inc. Arbitration for shared graphics processing resources
US6097397A (en) * 1997-11-20 2000-08-01 Real 3D, Inc. Anisotropic texture mapping using silhouette/footprint analysis in a computer image generation system
US6002407A (en) 1997-12-16 1999-12-14 Oak Technology, Inc. Cache memory and method for use in generating computer graphics texture
US7136068B1 (en) 1998-04-07 2006-11-14 Nvidia Corporation Texture cache for a computer graphics accelerator
US6204857B1 (en) 1998-04-16 2001-03-20 Real 3-D Method and apparatus for effective level of detail selection
US6151030A (en) * 1998-05-27 2000-11-21 Intel Corporation Method of creating transparent graphics
US6204855B1 (en) * 1998-06-19 2001-03-20 Intel Corporation Computer system for interpolating a value for a pixel
US6259455B1 (en) 1998-06-30 2001-07-10 Cirrus Logic, Inc. Method and apparatus for applying specular highlighting with specular components included with texture maps
US6252606B1 (en) 1998-06-30 2001-06-26 Cirrus Logic, Inc. Error correction in a graphics processor
US6191795B1 (en) * 1998-09-30 2001-02-20 Silicon Graphics, Inc. Ellipsoidal projection mapping
US6407743B1 (en) 1998-10-20 2002-06-18 Microsoft Corporation System and method for morphing based on multiple weighted parameters
US7446774B1 (en) 1998-11-09 2008-11-04 Broadcom Corporation Video and graphics system with an integrated system bridge controller
US6853385B1 (en) * 1999-11-09 2005-02-08 Broadcom Corporation Video, audio and graphics decode, composite and display system
US6768774B1 (en) * 1998-11-09 2004-07-27 Broadcom Corporation Video and graphics system with video scaling
US6661422B1 (en) * 1998-11-09 2003-12-09 Broadcom Corporation Video and graphics system with MPEG specific data transfer commands
US6798420B1 (en) 1998-11-09 2004-09-28 Broadcom Corporation Video and graphics system with a single-port RAM
US6636222B1 (en) 1999-11-09 2003-10-21 Broadcom Corporation Video and graphics system with an MPEG video decoder for concurrent multi-row decoding
US6700588B1 (en) * 1998-11-09 2004-03-02 Broadcom Corporation Apparatus and method for blending graphics and video surfaces
US6573905B1 (en) 1999-11-09 2003-06-03 Broadcom Corporation Video and graphics system with parallel processing of graphics windows
US7982740B2 (en) 1998-11-09 2011-07-19 Broadcom Corporation Low resolution graphics mode support using window descriptors
CN1159682C (zh) * 1998-11-12 2004-07-28 索尼电脑娱乐公司 图象产生方法和图象产生设备
US6373482B1 (en) 1998-12-23 2002-04-16 Microsoft Corporation Method, system, and computer program product for modified blending between clip-map tiles
US6445386B1 (en) 1999-01-15 2002-09-03 Intel Corporation Method and apparatus for stretch blitting using a 3D pipeline
US7050063B1 (en) * 1999-02-11 2006-05-23 Intel Corporation 3-D rendering texture caching scheme
US6181352B1 (en) 1999-03-22 2001-01-30 Nvidia Corporation Graphics pipeline selectively providing multiple pixels or multiple textures
US6919895B1 (en) * 1999-03-22 2005-07-19 Nvidia Corporation Texture caching arrangement for a computer graphics accelerator
US6346938B1 (en) 1999-04-27 2002-02-12 Harris Corporation Computer-resident mechanism for manipulating, navigating through and mensurating displayed image of three-dimensional geometric model
US6693646B1 (en) 1999-04-28 2004-02-17 Microsoft Corporation Method and system for iterative morphing
US6377274B1 (en) 1999-07-15 2002-04-23 Intel Corporation S-buffer anti-aliasing method
US20030142107A1 (en) * 1999-07-16 2003-07-31 Intel Corporation Pixel engine
US6518974B2 (en) * 1999-07-16 2003-02-11 Intel Corporation Pixel engine
US6975324B1 (en) 1999-11-09 2005-12-13 Broadcom Corporation Video and graphics system with a video transport processor
JP3367509B2 (ja) * 1999-12-16 2003-01-14 株式会社セガ 画像生成方法及びこれを用いた画像生成装置
GB2363956B (en) * 2000-01-28 2004-04-14 Namco Ltd Game system and image creating method
JP3310257B2 (ja) 2000-03-24 2002-08-05 株式会社コナミコンピュータエンタテインメントジャパン ゲームシステム及びゲーム用プログラムを記録したコンピュータ読み取り可能な記録媒体
US6774869B2 (en) * 2000-12-22 2004-08-10 Board Of Trustees Operating Michigan State University Teleportal face-to-face system
JP4592042B2 (ja) * 2001-03-21 2010-12-01 株式会社バンダイナムコゲームス 画像生成システム、プログラム及び情報記憶媒体
US8050868B2 (en) * 2001-03-26 2011-11-01 Cellomics, Inc. Methods for determining the organization of a cellular component of interest
WO2003032127A2 (en) 2001-10-10 2003-04-17 Sony Computer Entertainment America Inc. Dynamically loaded game software for smooth play.
US7095906B2 (en) * 2002-07-03 2006-08-22 Via Technologies, Inc. Apparatus and method for alpha blending of digital images
JP2004213641A (ja) * 2002-12-20 2004-07-29 Sony Computer Entertainment Inc 画像処理装置、画像処理方法、情報処理装置、情報処理システム、半導体デバイス、コンピュータプログラム
US20040125114A1 (en) * 2002-12-31 2004-07-01 Hauke Schmidt Multiresolution image synthesis for navigation
JP2005107780A (ja) * 2003-09-30 2005-04-21 Sony Corp 画像混合方法および混合画像データ生成装置
US8133115B2 (en) * 2003-10-22 2012-03-13 Sony Computer Entertainment America Llc System and method for recording and displaying a graphical path in a video game
US8063916B2 (en) * 2003-10-22 2011-11-22 Broadcom Corporation Graphics layer reduction for video composition
JP4381778B2 (ja) * 2003-11-17 2009-12-09 パナソニック株式会社 テクスチャ処理装置
JP3734815B2 (ja) * 2003-12-10 2006-01-11 任天堂株式会社 携帯ゲーム装置及びゲームプログラム
US20060071933A1 (en) 2004-10-06 2006-04-06 Sony Computer Entertainment Inc. Application binary interface for multi-pass shaders
US7636126B2 (en) * 2005-06-22 2009-12-22 Sony Computer Entertainment Inc. Delay matching in audio/video systems
KR100746641B1 (ko) * 2005-11-11 2007-08-06 주식회사 칼라짚미디어 동영상 이미지 코드와 동영상 이미지 코드 생성/디코딩장치 및 그 방법
TWI303782B (en) * 2006-03-10 2008-12-01 Sony Taiwan Ltd An optimized video stitching mehtod for asic implementation
US7880746B2 (en) * 2006-05-04 2011-02-01 Sony Computer Entertainment Inc. Bandwidth management through lighting control of a user environment via a display device
US7965859B2 (en) 2006-05-04 2011-06-21 Sony Computer Entertainment Inc. Lighting control of a user environment via a display device
KR100745768B1 (ko) * 2006-08-29 2007-08-02 삼성전자주식회사 전력 소비를 감소시키기 위한 lod 값 계산 방법과이것을 이용한 3차원 렌더링 시스템
WO2008073449A2 (en) 2006-12-12 2008-06-19 Evans & Sutherland Computer Corporation System and method for aligning rgb light in a single modulator projector
US8358317B2 (en) 2008-05-23 2013-01-22 Evans & Sutherland Computer Corporation System and method for displaying a planar image on a curved surface
US8702248B1 (en) 2008-06-11 2014-04-22 Evans & Sutherland Computer Corporation Projection method for reducing interpixel gaps on a viewing surface
US8077378B1 (en) 2008-11-12 2011-12-13 Evans & Sutherland Computer Corporation Calibration system and method for light modulation device
US10786736B2 (en) 2010-05-11 2020-09-29 Sony Interactive Entertainment LLC Placement of user information in a game space
US9342817B2 (en) 2011-07-07 2016-05-17 Sony Interactive Entertainment LLC Auto-creating groups for sharing photos
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
JP6767319B2 (ja) * 2017-07-31 2020-10-14 株式会社ソニー・インタラクティブエンタテインメント 情報処理装置およびファイルコピー方法
US11126199B2 (en) * 2018-04-16 2021-09-21 Baidu Usa Llc Learning based speed planner for autonomous driving vehicles

Family Cites Families (20)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US3441789A (en) * 1968-01-12 1969-04-29 Lee Harrison Means and method for generating shadows and shading for an electronically generated display
US3454822A (en) * 1968-01-15 1969-07-08 Lee Harrison Means and method for generating shadows on continuous surfaces in an image produced by an electronic image generator
US3527980A (en) * 1968-03-28 1970-09-08 Control Data Corp Digital variable intensity display
US3665408A (en) * 1970-05-26 1972-05-23 Univ Utah Electronically-generated perspective images
US3747087A (en) * 1971-06-25 1973-07-17 Computer Image Corp Digitally controlled computer animation generating system
US3999308A (en) * 1975-03-12 1976-12-28 The Singer Company Real-time simulation of a point system having textured areas as viewed by a moving observer
US4053740A (en) * 1975-12-22 1977-10-11 Lawrence David Rosenthal Video game system
US4263726A (en) * 1978-04-22 1981-04-28 Redifon Simulation Limited Visual display apparatus
US4324401A (en) * 1979-01-15 1982-04-13 Atari, Inc. Method and system for generating moving objects on a video display screen
CA1141468A (en) 1979-06-15 1983-02-15 Martin J.P. Bolton Visual display apparatus
US4352105A (en) * 1979-09-25 1982-09-28 Radiation Dynamics, Inc. Display system
US4384338A (en) * 1980-12-24 1983-05-17 The Singer Company Methods and apparatus for blending computer image generated features
US4434437A (en) * 1981-01-26 1984-02-28 Rca Corporation Generating angular coordinate of raster scan of polar-coordinate addressed memory
US4656467A (en) * 1981-01-26 1987-04-07 Rca Corporation TV graphic displays without quantizing errors from compact image memory
US4584572A (en) * 1982-06-11 1986-04-22 Electro-Sport, Inc. Video system
US4570233A (en) * 1982-07-01 1986-02-11 The Singer Company Modular digital image generator
US4532503A (en) * 1982-11-08 1985-07-30 International Business Machines Corporation Sequence controlled pixel configuration
US4609917A (en) * 1983-01-17 1986-09-02 Lexidata Corporation Three-dimensional display system
US4475104A (en) * 1983-01-17 1984-10-02 Lexidata Corporation Three-dimensional display system
US4586037A (en) * 1983-03-07 1986-04-29 Tektronix, Inc. Raster display smooth line generation

Also Published As

Publication number Publication date
US4727365B1 (en) 1999-10-05
US4727365A (en) 1988-02-23
EP0137233A2 (de) 1985-04-17
JPS6069780A (ja) 1985-04-20
EP0137233A3 (en) 1985-08-14
JPH0740171B2 (ja) 1995-05-01
IL72685A (en) 1988-08-31
EP0137233B1 (de) 1992-07-29
DE3485846D1 (de) 1992-09-03

Similar Documents

Publication Publication Date Title
DE3485846T2 (de) Videoobjekt-generator.
DE3686233T2 (de) Videosignalverarbeitung.
DE3853393T2 (de) Verfahren und Vorrichtung zur zweidimensionalen Bilderstellung.
EP0789328B1 (de) Bildverarbeitungsverfahren zur Darstellung von spiegelnden Objekten und zugehörige Vorrichtung
US4343037A (en) Visual display systems of the computer generated image type
DE3650129T2 (de) Verfahren zur Kantenglättung für Rechnerbilderzeugungssystem.
DE3854543T2 (de) Prioritätsverwaltung eines Tiefendatenpuffers für Echtzeitrechnersysteme zur Bilderzeugung.
DE19646194B4 (de) Echtzeit-Wiedergabeverfahren zum wahlweisen Ausführen von Bump-Mapping- und Phong-Schattierungs-Prozessen und zugehörige Vorrichtung
DE69028195T2 (de) Bildbehandlungseinheit
DE69126611T2 (de) Bilderzeugungsgerät
DE3853664T2 (de) Farbzellentextur.
DE19782086B4 (de) Multiplizierer zur Durchführung von 3D-Graphik-Interpolationen
DE3750803T2 (de) Schattierungsschaltung zur Schattierung mehrerer Polygone, die ein Festkörpermodel einsetzen, und Schattierungsverfahren dafür.
EP0223160A2 (de) Speicherfähige Zellentexturerzeugung für fortgeschrittenen Videoobjekterzeuger
JPH0637939U (ja) ディジタル画像にテクスチャを発生させる装置
DE19807053B4 (de) Strahltransformationsverfahren für eine schnelle Volumenaufbereitung für eine perspektivische Betrachtung
DE69123739T2 (de) Bildgenerator
DE69723798T2 (de) Gerät und Verfahren zum spekular Reflektionsimulieren in einem Graphik-Bildsystem
CN105741289B (zh) 一种面向虚拟人超大规模切片图像的序列化自动分割方法
JPH02899A (ja) グラフ表示装置と物体の3次元像を発生する方法
DE19708679A1 (de) Bilddarstellungsverfahren und Vorrichtung zur Durchführung des Verfahrens
DE3854619T2 (de) Quadratische interpolation zur schattierten bilderzeugung.
US5068808A (en) Imager and process
GB2061074A (en) Improved visual display systems for computer generated images
DE102023127131A1 (de) Techniken der künstlichen intelligenz zur extrapolation von hdr-panoramen aus ldr-bildern mit geringem blickfeld (fov)

Legal Events

Date Code Title Description
8364 No opposition during term of opposition
8327 Change in the person/name/address of the patent owner

Owner name: INTEL CORP., SANTA CLARA, CALIF., US